diff options
2531 files changed, 5838 insertions, 1204 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8af1d9efb..18fd7c229 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,6 +11,7 @@ Thank you for your interest in contributing to Mattermost. This guide provides a 2. These projects are intended to be a straight forward first pull requests from new contributors - If you don't find something appropriate for your interests, please see the full list of tickets [Accepting Pull Requests](https://mattermost.atlassian.net/issues/?filter=10101) - Also, feel free to fix bugs you find, or items in GitHub issues that the core team has approved, but not yet added to Jira + - For feature ideas, please discuss on the [feature ideas forum](http://www.mattermost.org/feature-requests/) before beginning work 3. If you have any questions at all about a ticket, there are several options to ask: 1. Start a topic in the [Mattermost forum](http://forum.mattermost.org/) @@ -30,15 +31,16 @@ git checkout -b <branch name> 1. Please review the [Mattermost Style Guide](doc/developer/Style-Guide.md) prior to making changes - To keep code clean and well structured, Mattermost uses ESLint to check that pull requests adhere to style guidelines for React. Code will need to follow Mattermost's React style guidelines in order to pass the automated build tests when a pull request is submitted + To keep code clean and well structured, Mattermost uses ESLint to check that pull requests adhere to style guidelines for React. In addition all code is run through the official go formatter tool gofmt. Code will need to follow Mattermost's React style guidelines and the golang official style guide in order to pass the automated build tests when a pull request is submitted. 2. Please make sure to thoroughly test your change before submitting a pull request + For any changes to text processing, please run the text processing tests found in the [/tests](https://github.com/mattermost/platform/tree/master/doc/developer/tests) folder in GitHub. + Please review the ["Fast, Obvious, Forgiving" experience design principles](http://www.mattermost.org/design-principles/) for Mattermost and check that your feature meets the criteria. Also, for any changes to user interface or help text, please read the changes out loud, as a quick and easy way to catch any inconsitencies 3. For new server-side funcitonality, please include test cases that verify the code performs as you have intended - ## Submitting a Pull Request @@ -47,9 +49,14 @@ git checkout -b <branch name> 2. When you submit your pull request please make it against `master` and include the Ticket ID at the beginning of your pull request comment, followed by a colon - For example, for a ticket ID `PLT-394` start your comment with: `PLT-394:`. See [previously closed pull requests](https://github.com/mattermost/platform/pulls?q=is%3Apr+is%3Aclosed) for examples + - All pull requests must have a ticket ID so the issue can be tracked and tested properly. If there is no existing ticket in Jira, please [file an issue in GitHub](http://www.mattermost.org/filing-issues/) so a Jira ticket can be created + +3. Please include a comment on the pull request describing the changes + + For new features visible in the UI, please make sure there are enough details explaining how the feature is expected to work. This will be used when testing and writing help documentation. -3. Once submitted, your pull request will be checked via an automated build process and will be reviewed by at least two members of the Mattermost core team, who may either accept the PR or follow-up with feedback. It would then get merged into `master` for the next release +4. Once submitted, your pull request will be checked via an automated build process and will be reviewed by at least two members of the Mattermost core team, who may either accept the PR or follow-up with feedback. It would then get merged into `master` for the next release 1. If the build fails, check the error log to narrow down the reason 2. Sometimes one of the multiple build tests will randomly fail due to issues in Travis CI so if you see just one build failure and no clear error message it may be a random issue. Add a comment so the reviewer for your change can re-run the build for you, or close the PR and re-submit and that typically clears the issue -4. If you've included your mailing address in Step 1, you'll be receiving a [Limited Edition Mattermost Mug](http://forum.mattermost.org/t/limited-edition-mattermost-mugs/143) as a thank you gift after your first pull request has been accepted +5. If you've included your mailing address in Step 1, you'll be receiving a [Limited Edition Mattermost Mug](http://forum.mattermost.org/t/limited-edition-mattermost-mugs/143) as a thank you gift after your first pull request has been accepted @@ -170,7 +170,7 @@ travis-init: build-container: @echo Building in container - docker run --link mattermost-mysql:mysql --link mattermost-postgres:postgres -v `pwd`:/go/src/github.com/mattermost/platform mattermost/builder:latest + docker run -e TRAVIS_BUILD_NUMBER=$(TRAVIS_BUILD_NUMBER) --link mattermost-mysql:mysql --link mattermost-postgres:postgres -v `pwd`:/go/src/github.com/mattermost/platform mattermost/builder:latest stop-docker: @echo Stopping docker containers diff --git a/doc/install/Troubleshooting.md b/doc/install/Troubleshooting.md index 78ab5617d..deae7717d 100644 --- a/doc/install/Troubleshooting.md +++ b/doc/install/Troubleshooting.md @@ -22,7 +22,7 @@ The following is a list of common error messages and solutions: ###### `x509: certificate signed by unknown authority` in server logs when attempting to sign-up - - This error may appear when attempt to use a self-signed certificate to setup SSL, which is not yet supported by Mattermost. You + - This error may appear when attempt to use a self-signed certificate to setup SSL, which is not yet supported by Mattermost. - **Solution:** Set up a load balancer like Ngnix [per production install guide](https://github.com/mattermost/platform/blob/master/doc/install/Production-Ubuntu.md#set-up-nginx-with-ssl-recommended). A ticket exists to [add support for self-signed certificates in future](x509: certificate signed by unknown authority). ###### `panic: runtime error: invalid memory address or nil pointer dereference` diff --git a/model/post.go b/model/post.go index 5578514b5..e66009dd6 100644 --- a/model/post.go +++ b/model/post.go @@ -112,6 +112,10 @@ func (o *Post) IsValid() *AppError { return NewAppError("Post.IsValid", "Invalid filenames", "id="+o.Id) } + if utf8.RuneCountInString(StringInterfaceToJson(o.Props)) > 8000 { + return NewAppError("Post.IsValid", "Invalid props", "id="+o.Id) + } + return nil } diff --git a/store/sql_post_store.go b/store/sql_post_store.go index 1831eb23c..9db5806c5 100644 --- a/store/sql_post_store.go +++ b/store/sql_post_store.go @@ -30,7 +30,7 @@ func NewSqlPostStore(sqlStore *SqlStore) PostStore { table.ColMap("Message").SetMaxSize(4000) table.ColMap("Type").SetMaxSize(26) table.ColMap("Hashtags").SetMaxSize(1000) - table.ColMap("Props") + table.ColMap("Props").SetMaxSize(8000) table.ColMap("Filenames").SetMaxSize(4000) } diff --git a/web/react/.eslintrc b/web/react/.eslintrc index 935bb638a..baaf7eaa5 100644 --- a/web/react/.eslintrc +++ b/web/react/.eslintrc @@ -47,7 +47,7 @@ "no-irregular-whitespace": 2, "no-unexpected-multiline": 2, "no-unreachable": 2, - "no-magic-numbers": [1, { "enforceConst": true, "detectObjects": true } ], + "no-magic-numbers": [1, { "ignore": [-1, 0, 1, 2], "enforceConst": true, "detectObjects": true } ], "valid-typeof": 2, "block-scoped-var": 2, diff --git a/web/react/components/admin_console/admin_sidebar.jsx b/web/react/components/admin_console/admin_sidebar.jsx index 076a07618..cc98c495e 100644 --- a/web/react/components/admin_console/admin_sidebar.jsx +++ b/web/react/components/admin_console/admin_sidebar.jsx @@ -5,6 +5,9 @@ import AdminSidebarHeader from './admin_sidebar_header.jsx'; import SelectTeamModal from './select_team_modal.jsx'; import * as Utils from '../../utils/utils.jsx'; +const Tooltip = ReactBootstrap.Tooltip; +const OverlayTrigger = ReactBootstrap.OverlayTrigger; + export default class AdminSidebar extends React.Component { constructor(props) { super(props); @@ -80,6 +83,12 @@ export default class AdminSidebar extends React.Component { render() { var count = '*'; var teams = 'Loading'; + const removeTooltip = ( + <Tooltip id='remove-team-tooltip'>{'Remove team from sidebar menu'}</Tooltip> + ); + const addTeamTooltip = ( + <Tooltip id='add-team-tooltip'>{'Add team from sidebar menu'}</Tooltip> + ); if (this.props.teams != null) { count = '' + Object.keys(this.props.teams).length; @@ -102,14 +111,19 @@ export default class AdminSidebar extends React.Component { className={'nav__sub-menu-item ' + this.isSelected('team_users', team.id)} > {team.name} + <OverlayTrigger + delayShow={1000} + placement='top' + overlay={removeTooltip} + > <span className='menu-icon--right menu__close' onClick={this.removeTeam.bind(this, team.id)} style={{cursor: 'pointer'}} - title='Remove team from sidebar menu' > - {'x'} + {'×'} </span> + </OverlayTrigger> </a> </li> <li> @@ -245,15 +259,20 @@ export default class AdminSidebar extends React.Component { <span className='icon fa fa-gear'></span> <span>{'TEAMS (' + count + ')'}</span> <span className='menu-icon--right'> + <OverlayTrigger + delayShow={1000} + placement='top' + overlay={addTeamTooltip} + > <a href='#' onClick={this.showTeamSelect} > <i className='fa fa-plus' - title='Add team to sidebar menu' ></i> </a> + </OverlayTrigger> </span> </h4> </li> diff --git a/web/react/components/admin_console/select_team_modal.jsx b/web/react/components/admin_console/select_team_modal.jsx index 22189821b..858b6bbfe 100644 --- a/web/react/components/admin_console/select_team_modal.jsx +++ b/web/react/components/admin_console/select_team_modal.jsx @@ -57,7 +57,7 @@ export default class SelectTeamModal extends React.Component { <select ref='team' size='10' - style={{width: '100%'}} + className='form-control' > {options} </select> diff --git a/web/react/components/center_panel.jsx b/web/react/components/center_panel.jsx index 3c6a36ad4..848e8952e 100644 --- a/web/react/components/center_panel.jsx +++ b/web/react/components/center_panel.jsx @@ -13,6 +13,8 @@ import PreferenceStore from '../stores/preference_store.jsx'; import ChannelStore from '../stores/channel_store.jsx'; import UserStore from '../stores/user_store.jsx'; +import * as Utils from '../utils/utils.jsx'; + import Constants from '../utils/constants.jsx'; const TutorialSteps = Constants.TutorialSteps; const Preferences = Constants.Preferences; @@ -46,6 +48,8 @@ export default class CenterPanel extends React.Component { this.setState({showPostFocus: ChannelStore.getPostMode() === ChannelStore.POST_MODE_FOCUS}); } render() { + const channel = ChannelStore.getCurrent(); + var handleClick = null; let postsContainer; let createPost; if (this.state.showTutorialScreens) { @@ -53,7 +57,24 @@ export default class CenterPanel extends React.Component { createPost = null; } else if (this.state.showPostFocus) { postsContainer = <PostFocusView />; - createPost = null; + + handleClick = function clickHandler(e) { + e.preventDefault(); + Utils.switchChannel(channel); + }; + + createPost = ( + <div + id='archive-link-home' + > + <a + href='' + onClick={handleClick} + > + {'You are viewing the Archives. Click here to jump to recent messages.'} + </a> + </div> + ); } else { postsContainer = <PostsViewContainer />; createPost = ( diff --git a/web/react/components/command_list.jsx b/web/react/components/command_list.jsx deleted file mode 100644 index 7fc0f79cf..000000000 --- a/web/react/components/command_list.jsx +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import * as client from '../utils/client.jsx'; - -export default class CommandList extends React.Component { - constructor(props) { - super(props); - - this.handleClick = this.handleClick.bind(this); - this.addFirstCommand = this.addFirstCommand.bind(this); - this.isEmpty = this.isEmpty.bind(this); - this.getSuggestedCommands = this.getSuggestedCommands.bind(this); - - this.state = { - suggestions: [], - cmd: '' - }; - } - - handleClick(i) { - this.props.addCommand(this.state.suggestions[i].suggestion); - this.setState({suggestions: [], cmd: ''}); - } - - addFirstCommand() { - if (this.state.suggestions.length === 0) { - return; - } - this.handleClick(0); - } - - isEmpty() { - return this.state.suggestions.length === 0; - } - - getSuggestedCommands(cmd) { - if (!cmd || cmd.charAt(0) !== '/') { - this.setState({suggestions: [], cmd: ''}); - return; - } - - client.executeCommand( - this.props.channelId, - cmd, - true, - function success(data) { - if (data.suggestions.length === 1 && data.suggestions[0].suggestion === cmd) { - data.suggestions = []; - } - this.setState({suggestions: data.suggestions, cmd: cmd}); - }.bind(this), - function fail() { - } - ); - } - - render() { - if (this.state.suggestions.length === 0) { - return (<div/>); - } - - var suggestions = []; - - for (var i = 0; i < this.state.suggestions.length; i++) { - if (this.state.suggestions[i].suggestion !== this.state.cmd) { - suggestions.push( - <div - key={i} - className='command-name' - onClick={this.handleClick.bind(this, i)} - > - <div className='command__title'><strong>{this.state.suggestions[i].suggestion}</strong></div> - <div className='command__desc'>{this.state.suggestions[i].description}</div> - </div> - ); - } - } - - return ( - <div - ref='mentionlist' - className='command-box' - style={{height: (suggestions.length * 56) + 2}} - > - {suggestions} - </div> - ); - } -} - -CommandList.defaultProps = { - channelId: null -}; - -CommandList.propTypes = { - addCommand: React.PropTypes.func, - channelId: React.PropTypes.string -}; diff --git a/web/react/components/create_comment.jsx b/web/react/components/create_comment.jsx index 8ceda1cf7..fac40e895 100644 --- a/web/react/components/create_comment.jsx +++ b/web/react/components/create_comment.jsx @@ -34,7 +34,6 @@ export default class CreateComment extends React.Component { this.handleUploadError = this.handleUploadError.bind(this); this.handleTextDrop = this.handleTextDrop.bind(this); this.removePreview = this.removePreview.bind(this); - this.handleSubmit = this.handleSubmit.bind(this); this.getFileCount = this.getFileCount.bind(this); this.handleResize = this.handleResize.bind(this); this.onPreferenceChange = this.onPreferenceChange.bind(this); @@ -335,6 +334,7 @@ export default class CreateComment extends React.Component { messageText={this.state.messageText} createMessage='Add a comment...' initialText='' + supportsCommands={false} id='reply_textbox' ref='textbox' /> diff --git a/web/react/components/edit_post_modal.jsx b/web/react/components/edit_post_modal.jsx index eb58fe721..be57fe7c3 100644 --- a/web/react/components/edit_post_modal.jsx +++ b/web/react/components/edit_post_modal.jsx @@ -160,6 +160,7 @@ export default class EditPostModal extends React.Component { onKeyDown={this.handleKeyDown} messageText={this.state.editText} createMessage='Edit the post...' + supportsCommands={false} id='edit_textbox' ref='editbox' /> diff --git a/web/react/components/mention.jsx b/web/react/components/mention.jsx deleted file mode 100644 index 44f6210e4..000000000 --- a/web/react/components/mention.jsx +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. -import UserStore from '../stores/user_store.jsx'; -import * as Utils from '../utils/utils.jsx'; - -export default class Mention extends React.Component { - constructor(props) { - super(props); - - this.handleClick = this.handleClick.bind(this); - - this.state = null; - } - handleClick() { - this.props.handleClick(this.props.username); - } - render() { - var icon; - var timestamp = UserStore.getCurrentUser().update_at; - if (this.props.id === 'allmention' || this.props.id === 'channelmention') { - icon = <span><i className='mention-img fa fa-users fa-2x'></i></span>; - } else if (this.props.id == null) { - icon = <span><i className='mention-img fa fa-users fa-2x'></i></span>; - } else { - icon = ( - <span> - <img - className='mention-img' - src={'/api/v1/users/' + this.props.id + '/image?time=' + timestamp + '&' + Utils.getSessionIndex()} - /> - </span> - ); - } - return ( - <div - className={'mentions-name ' + this.props.isFocused} - id={this.props.id + '_mentions'} - onClick={this.handleClick} - onMouseEnter={this.props.handleMouseEnter} - > - <div className='pull-left'>{icon}</div> - <div className='pull-left mention-align'><span>@{this.props.username}</span><span className='mention-fullname'>{this.props.secondary_text}</span></div> - </div> - ); - } -} - -Mention.defaultProps = { - username: '', - id: '', - isFocused: '', - secondary_text: '' -}; -Mention.propTypes = { - handleClick: React.PropTypes.func.isRequired, - handleMouseEnter: React.PropTypes.func.isRequired, - username: React.PropTypes.string, - id: React.PropTypes.string, - isFocused: React.PropTypes.string, - secondary_text: React.PropTypes.string -}; diff --git a/web/react/components/mention_list.jsx b/web/react/components/mention_list.jsx deleted file mode 100644 index 297d5c719..000000000 --- a/web/react/components/mention_list.jsx +++ /dev/null @@ -1,276 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import UserStore from '../stores/user_store.jsx'; -import SearchStore from '../stores/search_store.jsx'; -import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; -import Mention from './mention.jsx'; - -import Constants from '../utils/constants.jsx'; -import * as Utils from '../utils/utils.jsx'; -var ActionTypes = Constants.ActionTypes; - -var MAX_HEIGHT_LIST = 292; -var MAX_ITEMS_IN_LIST = 25; -var ITEM_HEIGHT = 36; - -export default class MentionList extends React.Component { - constructor(props) { - super(props); - - this.onListenerChange = this.onListenerChange.bind(this); - this.handleClick = this.handleClick.bind(this); - this.handleMouseEnter = this.handleMouseEnter.bind(this); - this.getSelection = this.getSelection.bind(this); - this.addCurrentMention = this.addCurrentMention.bind(this); - this.addFirstMention = this.addFirstMention.bind(this); - this.isEmpty = this.isEmpty.bind(this); - this.scrollToMention = this.scrollToMention.bind(this); - this.onScroll = this.onScroll.bind(this); - this.onMentionListKey = this.onMentionListKey.bind(this); - this.onClick = this.onClick.bind(this); - - this.state = {excludeUsers: [], mentionText: '-1', selectedMention: 0, selectedUsername: ''}; - } - onScroll() { - if ($('.mentions--top').length) { - $('#reply_mention_tab .mentions--top').css({bottom: $(window).height() - $('.post-right__scroll #reply_textbox').offset().top}); - } - } - onMentionListKey(e) { - if (!this.isEmpty() && this.state.mentionText !== '-1' && (e.which === 13 || e.which === 9)) { - e.stopPropagation(); - e.preventDefault(); - this.addCurrentMention(); - } else if (!this.isEmpty() && this.state.mentionText !== '-1' && (e.which === 38 || e.which === 40)) { - e.stopPropagation(); - e.preventDefault(); - - if (e.which === 38) { - if (this.getSelection(this.state.selectedMention - 1)) { - this.setState({selectedMention: this.state.selectedMention - 1, selectedUsername: this.refs['mention' + (this.state.selectedMention - 1)].props.username}); - } - } else if (e.which === 40) { - if (this.getSelection(this.state.selectedMention + 1)) { - this.setState({selectedMention: this.state.selectedMention + 1, selectedUsername: this.refs['mention' + (this.state.selectedMention + 1)].props.username}); - } - } - - this.scrollToMention(e.which); - } - } - onClick(e) { - if (!($('#' + this.props.id).is(e.target) || $('#' + this.props.id).has(e.target).length || - ('mentionlist' in this.refs && $(ReactDOM.findDOMNode(this.refs.mentionlist)).has(e.target).length))) { - this.setState({mentionText: '-1'}); - } - } - componentDidMount() { - SearchStore.addMentionDataChangeListener(this.onListenerChange); - - $('.post-right__scroll').scroll(this.onScroll); - - $('body').on('keydown.mentionlist', '#' + this.props.id, this.onMentionListKey); - $(document).click(this.onClick); - } - componentWillUnmount() { - SearchStore.removeMentionDataChangeListener(this.onListenerChange); - $('body').off('keydown.mentionlist', '#' + this.props.id); - } - - /* - * This component is poorly designed, nessesitating some state modification - * in the componentDidUpdate function. This is generally discouraged as it - * is a performance issue and breaks with good react design. This component - * should be redesigned. - */ - componentDidUpdate() { - if (this.state.mentionText !== '-1') { - if (this.state.selectedUsername !== '' && (!this.getSelection(this.state.selectedMention) || this.state.selectedUsername !== this.refs['mention' + this.state.selectedMention].props.username)) { - var tempSelectedMention = -1; - var foundMatch = false; - while (tempSelectedMention < this.state.selectedMention && this.getSelection(++tempSelectedMention)) { - if (this.state.selectedUsername === this.refs['mention' + tempSelectedMention].props.username) { - this.setState({selectedMention: tempSelectedMention}); //eslint-disable-line react/no-did-update-set-state - foundMatch = true; - break; - } - } - if (this.getSelection(0) && !foundMatch) { - this.setState({selectedMention: 0, selectedUsername: this.refs.mention0.props.username}); //eslint-disable-line react/no-did-update-set-state - } - } - } else if (this.state.selectedMention !== 0) { - this.setState({selectedMention: 0, selectedUsername: ''}); //eslint-disable-line react/no-did-update-set-state - } - } - onListenerChange(id, mentionText) { - if (id !== this.props.id) { - return; - } - - var newState = this.state; - if (mentionText != null) { - newState.mentionText = mentionText; - } - - this.setState(newState); - } - handleClick(name) { - AppDispatcher.handleViewAction({ - type: ActionTypes.RECIEVED_ADD_MENTION, - id: this.props.id, - username: name - }); - - this.setState({mentionText: '-1'}); - } - handleMouseEnter(listId) { - this.setState({selectedMention: listId, selectedUsername: this.refs['mention' + listId].props.username}); - } - getSelection(listId) { - if (!this.refs['mention' + listId]) { - return false; - } - return true; - } - addCurrentMention() { - if (this.getSelection(this.state.selectedMention)) { - this.refs['mention' + this.state.selectedMention].handleClick(); - } else { - this.addFirstMention(); - } - } - addFirstMention() { - if (!this.refs.mention0) { - return; - } - this.refs.mention0.handleClick(); - } - isEmpty() { - return (!this.refs.mention0); - } - scrollToMention(keyPressed) { - var direction; - if (keyPressed === 38) { - direction = 'up'; - } else { - direction = 'down'; - } - var scrollAmount = 0; - - if (direction === 'up') { - scrollAmount = '-=' + ($('#' + this.refs['mention' + this.state.selectedMention].props.id + '_mentions').innerHeight() - 5); - } else if (direction === 'down') { - scrollAmount = '+=' + ($('#' + this.refs['mention' + this.state.selectedMention].props.id + '_mentions').innerHeight() - 5); - } - - $('#mentionsbox').animate({ - scrollTop: scrollAmount - }, 75); - } - render() { - var mentionText = this.state.mentionText; - if (mentionText === '-1') { - return null; - } - - var profiles = UserStore.getActiveOnlyProfiles(); - var users = []; - for (let id in profiles) { - if (profiles[id]) { - users.push(profiles[id]); - } - } - - // var all = {}; - // all.username = 'all'; - // all.nickname = ''; - // all.secondary_text = 'Notifies everyone in the team'; - // all.id = 'allmention'; - // users.push(all); - - var channel = {}; - channel.username = 'channel'; - channel.nickname = ''; - channel.secondary_text = 'Notifies everyone in the channel'; - channel.id = 'channelmention'; - users.push(channel); - - users.sort(function sortByUsername(a, b) { - if (a.username < b.username) { - return -1; - } - if (a.username > b.username) { - return 1; - } - return 0; - }); - var mentions = []; - var index = 0; - - for (var i = 0; i < users.length && index < MAX_ITEMS_IN_LIST; i++) { - if ((users[i].first_name && users[i].first_name.lastIndexOf(mentionText, 0) === 0) || - (users[i].last_name && users[i].last_name.lastIndexOf(mentionText, 0) === 0) || - users[i].username.lastIndexOf(mentionText, 0) === 0) { - let isFocused = ''; - if (this.state.selectedMention === index) { - isFocused = 'mentions-focus'; - } - - if (!users[i].secondary_text) { - users[i].secondary_text = Utils.getFullName(users[i]); - } - - mentions[index] = ( - <Mention - key={'mention_key_' + index} - ref={'mention' + index} - username={users[i].username} - secondary_text={users[i].secondary_text} - id={users[i].id} - listId={index} - isFocused={isFocused} - handleMouseEnter={this.handleMouseEnter.bind(this, index)} - handleClick={this.handleClick} - /> - ); - index++; - } - } - - var numMentions = mentions.length; - - if (numMentions < 1) { - return null; - } - - var $mentionTab = $('#' + this.props.id); - var maxHeight = Math.min(MAX_HEIGHT_LIST, $mentionTab.offset().top - 10); - var style = { - height: Math.min(maxHeight, (numMentions * ITEM_HEIGHT) + 4), - width: $mentionTab.parent().width(), - bottom: $(window).height() - $mentionTab.offset().top, - left: $mentionTab.offset().left - }; - - return ( - <div - className='mentions--top' - style={style} - > - <div - ref='mentionlist' - className='mentions-box' - id='mentionsbox' - > - {mentions} - </div> - </div> - ); - } -} - -MentionList.propTypes = { - id: React.PropTypes.string -}; diff --git a/web/react/components/post.jsx b/web/react/components/post.jsx index 66d8c507a..b32656bfc 100644 --- a/web/react/components/post.jsx +++ b/web/react/components/post.jsx @@ -95,6 +95,10 @@ export default class Post extends React.Component { return true; } + if (nextProps.shouldHighlight !== this.props.shouldHighlight) { + return true; + } + return false; } getCommentCount(props) { diff --git a/web/react/components/post_body.jsx b/web/react/components/post_body.jsx index de8195f91..27f7ad2de 100644 --- a/web/react/components/post_body.jsx +++ b/web/react/components/post_body.jsx @@ -4,6 +4,7 @@ import FileAttachmentList from './file_attachment_list.jsx'; import UserStore from '../stores/user_store.jsx'; import * as Utils from '../utils/utils.jsx'; +import * as Emoji from '../utils/emoticons.jsx'; import Constants from '../utils/constants.jsx'; import * as TextFormatting from '../utils/text_formatting.jsx'; import twemoji from 'twemoji'; @@ -52,7 +53,11 @@ export default class PostBody extends React.Component { } parseEmojis() { - twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE}); + twemoji.parse(ReactDOM.findDOMNode(this), { + className: 'emoji twemoji', + base: '', + folder: Emoji.getImagePathForEmoticon() + }); } componentWillMount() { diff --git a/web/react/components/post_focus_view.jsx b/web/react/components/post_focus_view.jsx index 5c6ad6c28..adcd78839 100644 --- a/web/react/components/post_focus_view.jsx +++ b/web/react/components/post_focus_view.jsx @@ -73,7 +73,7 @@ export default class PostFocusView extends React.Component { getIntroMessage() { return ( <div className='channel-intro'> - <h4 className='channel-intro__title'>{'Beginning of Channel'}</h4> + <h4 className='channel-intro__title'>{'Beginning of Channel Archives'}</h4> </div> ); } diff --git a/web/react/components/rhs_root_post.jsx b/web/react/components/rhs_root_post.jsx index 3d3d9e13f..0dd969ad0 100644 --- a/web/react/components/rhs_root_post.jsx +++ b/web/react/components/rhs_root_post.jsx @@ -6,9 +6,9 @@ import UserProfile from './user_profile.jsx'; import UserStore from '../stores/user_store.jsx'; import * as TextFormatting from '../utils/text_formatting.jsx'; import * as utils from '../utils/utils.jsx'; +import * as Emoji from '../utils/emoticons.jsx'; import FileAttachmentList from './file_attachment_list.jsx'; import twemoji from 'twemoji'; -import Constants from '../utils/constants.jsx'; import PostBodyAdditionalContent from './post_body_additional_content.jsx'; import * as EventHelpers from '../dispatcher/event_helpers.jsx'; @@ -21,7 +21,11 @@ export default class RhsRootPost extends React.Component { this.state = {}; } parseEmojis() { - twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE}); + twemoji.parse(ReactDOM.findDOMNode(this), { + className: 'emoji twemoji', + base: '', + folder: Emoji.getImagePathForEmoticon() + }); } componentDidMount() { this.parseEmojis(); diff --git a/web/react/components/rhs_thread.jsx b/web/react/components/rhs_thread.jsx index 61f138539..d111094e7 100644 --- a/web/react/components/rhs_thread.jsx +++ b/web/react/components/rhs_thread.jsx @@ -101,7 +101,6 @@ export default class RhsThread extends React.Component { } if (currentPosts.posts[currentPosts.order[0]].channel_id === currentSelected.posts[currentSelected.order[0]].channel_id) { - currentSelected.posts = {}; for (var postId in currentPosts.posts) { if (currentPosts.posts.hasOwnProperty(postId)) { currentSelected.posts[postId] = currentPosts.posts[postId]; diff --git a/web/react/components/search_autocomplete.jsx b/web/react/components/search_autocomplete.jsx deleted file mode 100644 index 4c0aa0166..000000000 --- a/web/react/components/search_autocomplete.jsx +++ /dev/null @@ -1,341 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import ChannelStore from '../stores/channel_store.jsx'; -import Constants from '../utils/constants.jsx'; -const KeyCodes = Constants.KeyCodes; -const Popover = ReactBootstrap.Popover; -import UserStore from '../stores/user_store.jsx'; -import * as Utils from '../utils/utils.jsx'; - -const patterns = new Map([ - ['channels', /\b(?:in|channel):\s*(\S*)$/i], - ['users', /\bfrom:\s*(\S*)$/i] -]); - -export default class SearchAutocomplete extends React.Component { - constructor(props) { - super(props); - - this.handleClick = this.handleClick.bind(this); - this.handleDocumentClick = this.handleDocumentClick.bind(this); - this.handleInputChange = this.handleInputChange.bind(this); - this.handleKeyDown = this.handleKeyDown.bind(this); - - this.completeWord = this.completeWord.bind(this); - this.getSelection = this.getSelection.bind(this); - this.scrollToItem = this.scrollToItem.bind(this); - this.updateSuggestions = this.updateSuggestions.bind(this); - - this.renderChannelSuggestion = this.renderChannelSuggestion.bind(this); - this.renderUserSuggestion = this.renderUserSuggestion.bind(this); - - this.state = { - show: false, - mode: '', - filter: '', - selection: 0, - suggestions: new Map() - }; - } - - componentDidMount() { - $(document).on('click', this.handleDocumentClick); - } - - componentDidUpdate(prevProps, prevState) { - const content = $(ReactDOM.findDOMNode(this.refs.searchPopover)).find('.popover-content'); - - if (this.state.show && this.state.suggestions.length > 0) { - if (!prevState.show) { - content.perfectScrollbar(); - content.css('max-height', $(window).height() - 200); - } - - // keep the keyboard selection visible when scrolling - this.scrollToItem(this.getSelection()); - } - } - - componentWillUnmount() { - $(document).off('click', this.handleDocumentClick); - } - - handleClick(value) { - this.completeWord(value); - } - - handleDocumentClick(e) { - const container = $(ReactDOM.findDOMNode(this.refs.searchPopover)); - - if (!(container.is(e.target) || container.has(e.target).length > 0)) { - this.setState({ - show: false - }); - } - } - - handleInputChange(textbox, text) { - const caret = Utils.getCaretPosition(textbox); - const preText = text.substring(0, caret); - - let mode = ''; - let filter = ''; - for (const [modeForPattern, pattern] of patterns) { - const result = pattern.exec(preText); - - if (result) { - mode = modeForPattern; - filter = result[1]; - break; - } - } - - if (mode !== this.state.mode || filter !== this.state.filter) { - this.updateSuggestions(mode, filter); - } - - this.setState({ - mode, - filter, - show: mode || filter - }); - } - - handleKeyDown(e) { - if (!this.state.show || this.state.suggestions.length === 0) { - return; - } - - if (e.which === KeyCodes.UP || e.which === KeyCodes.DOWN) { - e.preventDefault(); - - let selection = this.state.selection; - - if (e.which === KeyCodes.UP) { - selection -= 1; - } else { - selection += 1; - } - - if (selection >= 0 && selection < this.state.suggestions.length) { - this.setState({ - selection - }); - } - } else if (e.which === KeyCodes.ENTER || e.which === KeyCodes.SPACE) { - e.preventDefault(); - - this.completeWord(this.getSelection()); - } - } - - completeWord(value) { - // add a space so that anything else typed doesn't interfere with the search flag - this.props.completeWord(this.state.filter, value + ' '); - - this.setState({ - show: false, - mode: '', - filter: '', - selection: 0 - }); - } - - getSelection() { - if (this.state.suggestions.length > 0) { - if (this.state.mode === 'channels') { - return this.state.suggestions[this.state.selection].name; - } else if (this.state.mode === 'users') { - return this.state.suggestions[this.state.selection].username; - } - } - - return ''; - } - - scrollToItem(itemName) { - const content = $(ReactDOM.findDOMNode(this.refs.searchPopover)).find('.popover-content'); - const visibleContentHeight = content[0].clientHeight; - const actualContentHeight = content[0].scrollHeight; - - if (this.state.suggestions.length > 0 && visibleContentHeight < actualContentHeight) { - const contentTop = content.scrollTop(); - const contentTopPadding = parseInt(content.css('padding-top'), 10); - const contentBottomPadding = parseInt(content.css('padding-top'), 10); - - const item = $(this.refs[itemName]); - const itemTop = item[0].offsetTop - parseInt(item.css('margin-top'), 10); - const itemBottom = item[0].offsetTop + item.height() + parseInt(item.css('margin-bottom'), 10); - - if (itemTop - contentTopPadding < contentTop) { - // the item is off the top of the visible space - content.scrollTop(itemTop - contentTopPadding); - } else if (itemBottom + contentTopPadding + contentBottomPadding > contentTop + visibleContentHeight) { - // the item has gone off the bottom of the visible space - content.scrollTop(itemBottom - visibleContentHeight + contentTopPadding + contentBottomPadding); - } - } - } - - updateSuggestions(mode, filter) { - let suggestions = []; - - if (mode === 'channels') { - let channels = ChannelStore.getAll(); - - if (filter) { - channels = channels.filter((channel) => channel.name.startsWith(filter) && channel.type !== 'D'); - } else { - // don't show direct channels - channels = channels.filter((channel) => channel.type !== 'D'); - } - - channels.sort((a, b) => { - // put public channels first and then sort alphabebetically - if (a.type === b.type) { - return a.name.localeCompare(b.name); - } else if (a.type === Constants.OPEN_CHANNEL) { - return -1; - } - - return 1; - }); - - suggestions = channels; - } else if (mode === 'users') { - let users = UserStore.getActiveOnlyProfileList(); - - if (filter) { - users = users.filter((user) => user.username.startsWith(filter)); - } - - users.sort((a, b) => a.username.localeCompare(b.username)); - - suggestions = users; - } - - let selection = this.state.selection; - - // keep the same user/channel selected if it's still visible as a suggestion - if (selection > 0 && this.state.suggestions.length > 0) { - // we can't just use indexOf to find if the selection is still in the list since they are different javascript objects - const currentSelectionId = this.state.suggestions[selection].id; - let found = false; - - for (let i = 0; i < suggestions.length; i++) { - if (suggestions[i].id === currentSelectionId) { - selection = i; - found = true; - - break; - } - } - - if (!found) { - selection = 0; - } - } else { - selection = 0; - } - - this.setState({ - suggestions, - selection - }); - } - - renderChannelSuggestion(channel) { - let className = 'search-autocomplete__item'; - if (channel.name === this.getSelection()) { - className += ' selected'; - } - - return ( - <div - key={channel.name} - ref={channel.name} - onClick={this.handleClick.bind(this, channel.name)} - className={className} - > - {channel.name} - </div> - ); - } - - renderUserSuggestion(user) { - let className = 'search-autocomplete__item'; - if (user.username === this.getSelection()) { - className += ' selected'; - } - - return ( - <div - key={user.username} - ref={user.username} - onClick={this.handleClick.bind(this, user.username)} - className={className} - > - <img - className='profile-img rounded' - src={'/api/v1/users/' + user.id + '/image?time=' + user.update_at} - /> - {user.username} - </div> - ); - } - - render() { - if (!this.state.show || this.state.suggestions.length === 0) { - return null; - } - - let suggestions = []; - - if (this.state.mode === 'channels') { - const publicChannels = this.state.suggestions.filter((channel) => channel.type === Constants.OPEN_CHANNEL); - if (publicChannels.length > 0) { - suggestions.push( - <div - key='public-channel-divider' - className='search-autocomplete__divider' - > - <span>{'Public ' + Utils.getChannelTerm(Constants.OPEN_CHANNEL) + 's'}</span> - </div> - ); - suggestions = suggestions.concat(publicChannels.map(this.renderChannelSuggestion)); - } - - const privateChannels = this.state.suggestions.filter((channel) => channel.type === Constants.PRIVATE_CHANNEL); - if (privateChannels.length > 0) { - suggestions.push( - <div - key='private-channel-divider' - className='search-autocomplete__divider' - > - <span>{'Private ' + Utils.getChannelTerm(Constants.PRIVATE_CHANNEL) + 's'}</span> - </div> - ); - suggestions = suggestions.concat(privateChannels.map(this.renderChannelSuggestion)); - } - } else if (this.state.mode === 'users') { - suggestions = this.state.suggestions.map(this.renderUserSuggestion); - } - - return ( - <Popover - ref='searchPopover' - onShow={this.componentDidMount} - id='search-autocomplete__popover' - className='search-help-popover autocomplete visible' - placement='bottom' - > - {suggestions} - </Popover> - ); - } -} - -SearchAutocomplete.propTypes = { - completeWord: React.PropTypes.func.isRequired -}; diff --git a/web/react/components/search_bar.jsx b/web/react/components/search_bar.jsx index 32f0f93bf..77c9e39b9 100644 --- a/web/react/components/search_bar.jsx +++ b/web/react/components/search_bar.jsx @@ -5,11 +5,14 @@ import * as client from '../utils/client.jsx'; import * as AsyncClient from '../utils/async_client.jsx'; import SearchStore from '../stores/search_store.jsx'; import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; +import SuggestionBox from './suggestion/suggestion_box.jsx'; +import SearchChannelProvider from './suggestion/search_channel_provider.jsx'; +import SearchSuggestionList from './suggestion/search_suggestion_list.jsx'; +import SearchUserProvider from './suggestion/search_user_provider.jsx'; import * as utils from '../utils/utils.jsx'; import Constants from '../utils/constants.jsx'; var ActionTypes = Constants.ActionTypes; var Popover = ReactBootstrap.Popover; -import SearchAutocomplete from './search_autocomplete.jsx'; export default class SearchBar extends React.Component { constructor() { @@ -17,17 +20,17 @@ export default class SearchBar extends React.Component { this.mounted = false; this.onListenerChange = this.onListenerChange.bind(this); - this.handleKeyDown = this.handleKeyDown.bind(this); this.handleUserInput = this.handleUserInput.bind(this); this.handleUserFocus = this.handleUserFocus.bind(this); this.handleUserBlur = this.handleUserBlur.bind(this); this.performSearch = this.performSearch.bind(this); this.handleSubmit = this.handleSubmit.bind(this); - this.completeWord = this.completeWord.bind(this); const state = this.getSearchTermStateFromStores(); state.focused = false; this.state = state; + + this.suggestionProviders = [new SearchChannelProvider(), new SearchUserProvider()]; } getSearchTermStateFromStores() { var term = SearchStore.getSearchTerm() || ''; @@ -77,18 +80,11 @@ export default class SearchBar extends React.Component { results: null }); } - handleKeyDown(e) { - if (this.refs.autocomplete) { - this.refs.autocomplete.handleKeyDown(e); - } - } - handleUserInput(e) { - var term = e.target.value; + handleUserInput(text) { + var term = text; SearchStore.storeSearchTerm(term); SearchStore.emitSearchTermChange(false); this.setState({searchTerm: term}); - - this.refs.autocomplete.handleInputChange(e.target, term); } handleUserBlur() { this.setState({focused: false}); @@ -128,23 +124,6 @@ export default class SearchBar extends React.Component { this.performSearch(this.state.searchTerm.trim()); } - completeWord(partialWord, word) { - const textbox = ReactDOM.findDOMNode(this.refs.search); - let text = textbox.value; - - const caret = utils.getCaretPosition(textbox); - const preText = text.substring(0, caret - partialWord.length); - const postText = text.substring(caret); - text = preText + word + postText; - - textbox.value = text; - utils.setCaretPosition(textbox, preText.length + word.length); - - SearchStore.storeSearchTerm(text); - SearchStore.emitSearchTermChange(false); - this.setState({searchTerm: text}); - } - render() { var isSearching = null; if (this.state.isSearching) { @@ -178,22 +157,18 @@ export default class SearchBar extends React.Component { autoComplete='off' > <span className='glyphicon glyphicon-search sidebar__search-icon' /> - <input - type='text' + <SuggestionBox ref='search' className='form-control search-bar' placeholder='Search' value={this.state.searchTerm} onFocus={this.handleUserFocus} onBlur={this.handleUserBlur} - onChange={this.handleUserInput} - onKeyDown={this.handleKeyDown} + onUserInput={this.handleUserInput} + listComponent={SearchSuggestionList} + providers={this.suggestionProviders} /> {isSearching} - <SearchAutocomplete - ref='autocomplete' - completeWord={this.completeWord} - /> <Popover id='searchbar-help-popup' placement='bottom' diff --git a/web/react/components/search_results_item.jsx b/web/react/components/search_results_item.jsx index da422fe1b..6e17cfe32 100644 --- a/web/react/components/search_results_item.jsx +++ b/web/react/components/search_results_item.jsx @@ -41,7 +41,6 @@ export default class SearchResultsItem extends React.Component { return ( <div className='search-item-container post' - onClick={this.handleClick} > <div className='search-channel__name'>{channelName}</div> <div className='post__content'> @@ -60,6 +59,15 @@ export default class SearchResultsItem extends React.Component { {utils.displayDate(this.props.post.create_at) + ' ' + utils.displayTime(this.props.post.create_at)} </time> </li> + <li> + <a + href='#' + className='search-item__jump' + onClick={this.handleClick} + > + {'[Jump]'} + </a> + </li> </ul> <div className='search-item-snippet'> <span diff --git a/web/react/components/suggestion/at_mention_provider.jsx b/web/react/components/suggestion/at_mention_provider.jsx new file mode 100644 index 000000000..8c2893448 --- /dev/null +++ b/web/react/components/suggestion/at_mention_provider.jsx @@ -0,0 +1,100 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import SuggestionStore from '../../stores/suggestion_store.jsx'; +import UserStore from '../../stores/user_store.jsx'; +import * as Utils from '../../utils/utils.jsx'; + +class AtMentionSuggestion extends React.Component { + render() { + const {item, isSelection, onClick} = this.props; + + let username; + let description; + let icon; + if (item.username === 'all') { + username = 'all'; + description = 'Notifies everyone in the team'; + icon = <i className='mention-img fa fa-users fa-2x' />; + } else if (item.username === 'channel') { + username = 'channel'; + description = 'Notifies everyone in the channel'; + icon = <i className='mention-img fa fa-users fa-2x' />; + } else { + username = item.username; + description = Utils.getFullName(item); + icon = ( + <img + className='mention-img' + src={'/api/v1/users/' + item.id + '/image?time=' + item.update_at + '&' + Utils.getSessionIndex()} + /> + ); + } + + let className = 'mentions-name'; + if (isSelection) { + className += ' suggestion--selected'; + } + + return ( + <div + className={className} + onClick={onClick} + > + <div className='pull-left'> + {icon} + </div> + <div className='pull-left mention-align'> + <span> + {'@' + username} + </span> + <span className='mention-fullname'> + {description} + </span> + </div> + </div> + ); + } +} + +AtMentionSuggestion.propTypes = { + item: React.PropTypes.object.isRequired, + isSelection: React.PropTypes.bool, + onClick: React.PropTypes.func +}; + +export default class AtMentionProvider { + handlePretextChanged(suggestionId, pretext) { + const captured = (/@([a-z0-9\-\._]*)$/i).exec(pretext); + if (captured) { + const usernamePrefix = captured[1]; + + const users = UserStore.getProfiles(); + let filtered = []; + + for (const id of Object.keys(users)) { + const user = users[id]; + + if (user.username.startsWith(usernamePrefix)) { + filtered.push(user); + } + } + + // add dummy users to represent the @all and @channel special mentions + if ('all'.startsWith(usernamePrefix)) { + filtered.push({username: 'all'}); + } + + if ('channel'.startsWith(usernamePrefix)) { + filtered.push({username: 'channel'}); + } + + filtered = filtered.sort((a, b) => a.username.localeCompare(b.username)); + + const mentions = filtered.map((user) => '@' + user.username); + + SuggestionStore.setMatchedPretext(suggestionId, captured[0]); + SuggestionStore.addSuggestions(suggestionId, mentions, filtered, AtMentionSuggestion); + } + } +} diff --git a/web/react/components/suggestion/command_provider.jsx b/web/react/components/suggestion/command_provider.jsx new file mode 100644 index 000000000..a2a446de2 --- /dev/null +++ b/web/react/components/suggestion/command_provider.jsx @@ -0,0 +1,47 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import * as AsyncClient from '../../utils/async_client.jsx'; +import SuggestionStore from '../../stores/suggestion_store.jsx'; + +class CommandSuggestion extends React.Component { + render() { + const {item, isSelection, onClick} = this.props; + + let className = 'command-name'; + if (isSelection) { + className += ' suggestion--selected'; + } + + return ( + <div + className={className} + onClick={onClick} + > + <div className='command__title'> + <string>{item.suggestion}</string> + </div> + <div className='command__desc'> + {item.description} + </div> + </div> + ); + } +} + +CommandSuggestion.propTypes = { + item: React.PropTypes.object.isRequired, + isSelection: React.PropTypes.bool, + onClick: React.PropTypes.func +}; + +export default class CommandProvider { + handlePretextChanged(suggestionId, pretext) { + if (pretext.startsWith('/')) { + SuggestionStore.setMatchedPretext(suggestionId, pretext); + SuggestionStore.setCompleteOnSpace(suggestionId, false); + + AsyncClient.getSuggestedCommands(pretext, suggestionId, CommandSuggestion); + } + } +} diff --git a/web/react/components/suggestion/emoticon_provider.jsx b/web/react/components/suggestion/emoticon_provider.jsx new file mode 100644 index 000000000..7dcb86442 --- /dev/null +++ b/web/react/components/suggestion/emoticon_provider.jsx @@ -0,0 +1,74 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import SuggestionStore from '../../stores/suggestion_store.jsx'; +import * as Emoticons from '../../utils/emoticons.jsx'; + +const MAX_EMOTICON_SUGGESTIONS = 40; + +class EmoticonSuggestion extends React.Component { + render() { + const text = this.props.term; + const name = this.props.item; + + let className = 'emoticon-suggestion'; + if (this.props.isSelection) { + className += ' suggestion--selected'; + } + + return ( + <div + className={className} + onClick={this.props.onClick} + > + <div className='pull-left'> + <img + alt={text} + className='emoticon-suggestion__image' + src={Emoticons.getImagePathForEmoticon(name)} + title={text} + /> + </div> + <div className='pull-left'> + {text} + </div> + </div> + ); + } +} + +EmoticonSuggestion.propTypes = { + item: React.PropTypes.string.isRequired, + term: React.PropTypes.string.isRequired, + isSelection: React.PropTypes.bool, + onClick: React.PropTypes.func +}; + +export default class EmoticonProvider { + handlePretextChanged(suggestionId, pretext) { + const captured = (/(?:^|\s)(:([a-zA-Z0-9_+\-]*))$/g).exec(pretext); + if (captured) { + const text = captured[1]; + const partialName = captured[2]; + + const terms = []; + const names = []; + + for (const emoticon of Emoticons.emoticonMap.keys()) { + if (emoticon.indexOf(partialName) !== -1) { + terms.push(':' + emoticon + ':'); + names.push(emoticon); + + if (terms.length >= MAX_EMOTICON_SUGGESTIONS) { + break; + } + } + } + + if (terms.length > 0) { + SuggestionStore.setMatchedPretext(suggestionId, text); + SuggestionStore.addSuggestions(suggestionId, terms, names, EmoticonSuggestion); + } + } + } +} diff --git a/web/react/components/suggestion/search_channel_provider.jsx b/web/react/components/suggestion/search_channel_provider.jsx new file mode 100644 index 000000000..7547a9341 --- /dev/null +++ b/web/react/components/suggestion/search_channel_provider.jsx @@ -0,0 +1,69 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import ChannelStore from '../../stores/channel_store.jsx'; +import Constants from '../../utils/constants.jsx'; +import SuggestionStore from '../../stores/suggestion_store.jsx'; + +class SearchChannelSuggestion extends React.Component { + render() { + const {item, isSelection, onClick} = this.props; + + let className = 'search-autocomplete__item'; + if (isSelection) { + className += ' selected'; + } + + return ( + <div + onClick={onClick} + className={className} + > + {item.name} + </div> + ); + } +} + +SearchChannelSuggestion.propTypes = { + item: React.PropTypes.object.isRequired, + isSelection: React.PropTypes.bool, + onClick: React.PropTypes.func +}; + +export default class SearchChannelProvider { + handlePretextChanged(suggestionId, pretext) { + const captured = (/\b(?:in|channel):\s*(\S*)$/i).exec(pretext); + if (captured) { + const channelPrefix = captured[1]; + + const channels = ChannelStore.getAll(); + const publicChannels = []; + const privateChannels = []; + + for (const id of Object.keys(channels)) { + const channel = channels[id]; + + // don't show direct channels + if (channel.type !== Constants.DM_CHANNEL && channel.name.startsWith(channelPrefix)) { + if (channel.type === Constants.OPEN_CHANNEL) { + publicChannels.push(channel); + } else { + privateChannels.push(channel); + } + } + } + + publicChannels.sort((a, b) => a.name.localeCompare(b.name)); + const publicChannelNames = publicChannels.map((channel) => channel.name); + + privateChannels.sort((a, b) => a.name.localeCompare(b.name)); + const privateChannelNames = privateChannels.map((channel) => channel.name); + + SuggestionStore.setMatchedPretext(suggestionId, channelPrefix); + + SuggestionStore.addSuggestions(suggestionId, publicChannelNames, publicChannels, SearchChannelSuggestion); + SuggestionStore.addSuggestions(suggestionId, privateChannelNames, privateChannels, SearchChannelSuggestion); + } + } +} diff --git a/web/react/components/suggestion/search_suggestion_list.jsx b/web/react/components/suggestion/search_suggestion_list.jsx new file mode 100644 index 000000000..542d28ddd --- /dev/null +++ b/web/react/components/suggestion/search_suggestion_list.jsx @@ -0,0 +1,86 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import Constants from '../../utils/constants.jsx'; +import SuggestionList from './suggestion_list.jsx'; +import * as Utils from '../../utils/utils.jsx'; + +export default class SearchSuggestionList extends SuggestionList { + componentDidUpdate(prevProps, prevState) { + if (this.state.items.length > 0 && prevState.items.length === 0) { + this.getContent().perfectScrollbar(); + } + } + + getContent() { + return $(ReactDOM.findDOMNode(this.refs.popover)).find('.popover-content'); + } + + renderChannelDivider(type) { + let text; + if (type === Constants.OPEN_CHANNEL) { + text = 'Public ' + Utils.getChannelTerm(type) + 's'; + } else { + text = 'Private ' + Utils.getChannelTerm(type) + 's'; + } + + return ( + <div + key={type + '-divider'} + className='search-autocomplete__divider' + > + <span>{text}</span> + </div> + ); + } + + render() { + if (this.state.items.length === 0 || !this.props.show) { + return null; + } + + const items = []; + for (let i = 0; i < this.state.items.length; i++) { + const item = this.state.items[i]; + const term = this.state.terms[i]; + const isSelection = term === this.state.selection; + + // ReactComponent names need to be upper case when used in JSX + const Component = this.state.components[i]; + + // temporary hack to add dividers between public and private channels in the search suggestion list + if (i === 0 || item.type !== this.state.items[i - 1].type) { + if (item.type === Constants.OPEN_CHANNEL) { + items.push(this.renderChannelDivider(Constants.OPEN_CHANNEL)); + } else if (item.type === Constants.PRIVATE_CHANNEL) { + items.push(this.renderChannelDivider(Constants.PRIVATE_CHANNEL)); + } + } + + items.push( + <Component + key={term} + ref={term} + item={item} + isSelection={isSelection} + onClick={this.handleItemClick.bind(this, term)} + /> + ); + } + + return ( + <ReactBootstrap.Popover + ref='popover' + id='search-autocomplete__popover' + className='search-help-popover autocomplete visible' + placement='bottom' + > + {items} + </ReactBootstrap.Popover> + ); + } +} + +SearchSuggestionList.propTypes = { + ...SuggestionList.propTypes +}; diff --git a/web/react/components/suggestion/search_user_provider.jsx b/web/react/components/suggestion/search_user_provider.jsx new file mode 100644 index 000000000..cf2953937 --- /dev/null +++ b/web/react/components/suggestion/search_user_provider.jsx @@ -0,0 +1,62 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import SuggestionStore from '../../stores/suggestion_store.jsx'; +import UserStore from '../../stores/user_store.jsx'; + +class SearchUserSuggestion extends React.Component { + render() { + const {item, isSelection, onClick} = this.props; + + let className = 'search-autocomplete__item'; + if (isSelection) { + className += ' selected'; + } + + return ( + <div + className={className} + onClick={onClick} + > + <img + className='profile-img rounded' + src={'/api/v1/users/' + item.id + '/image?time=' + item.update_at} + /> + {item.username} + </div> + ); + } +} + +SearchUserSuggestion.propTypes = { + item: React.PropTypes.object.isRequired, + isSelection: React.PropTypes.bool, + onClick: React.PropTypes.func +}; + +export default class SearchUserProvider { + handlePretextChanged(suggestionId, pretext) { + const captured = (/\bfrom:\s*(\S*)$/i).exec(pretext); + if (captured) { + const usernamePrefix = captured[1]; + + const users = UserStore.getProfiles(); + let filtered = []; + + for (const id of Object.keys(users)) { + const user = users[id]; + + if (user.username.startsWith(usernamePrefix)) { + filtered.push(user); + } + } + + filtered = filtered.sort((a, b) => a.username.localeCompare(b.username)); + + const usernames = filtered.map((user) => user.username); + + SuggestionStore.setMatchedPretext(suggestionId, usernamePrefix); + SuggestionStore.addSuggestions(suggestionId, usernames, filtered, SearchUserSuggestion); + } + } +} diff --git a/web/react/components/suggestion/suggestion_box.jsx b/web/react/components/suggestion/suggestion_box.jsx new file mode 100644 index 000000000..4ca461e82 --- /dev/null +++ b/web/react/components/suggestion/suggestion_box.jsx @@ -0,0 +1,189 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import Constants from '../../utils/constants.jsx'; +import * as EventHelpers from '../../dispatcher/event_helpers.jsx'; +import SuggestionStore from '../../stores/suggestion_store.jsx'; +import * as Utils from '../../utils/utils.jsx'; + +const KeyCodes = Constants.KeyCodes; + +export default class SuggestionBox extends React.Component { + constructor(props) { + super(props); + + this.handleDocumentClick = this.handleDocumentClick.bind(this); + this.handleFocus = this.handleFocus.bind(this); + + this.handleChange = this.handleChange.bind(this); + this.handleCompleteWord = this.handleCompleteWord.bind(this); + this.handleKeyDown = this.handleKeyDown.bind(this); + this.handlePretextChanged = this.handlePretextChanged.bind(this); + + this.suggestionId = Utils.generateId(); + + this.state = { + focused: false + }; + } + + componentDidMount() { + SuggestionStore.registerSuggestionBox(this.suggestionId); + $(document).on('click', this.handleDocumentClick); + + SuggestionStore.addCompleteWordListener(this.suggestionId, this.handleCompleteWord); + SuggestionStore.addPretextChangedListener(this.suggestionId, this.handlePretextChanged); + } + + componentWillUnmount() { + SuggestionStore.removeCompleteWordListener(this.suggestionId, this.handleCompleteWord); + SuggestionStore.removePretextChangedListener(this.suggestionId, this.handlePretextChanged); + + SuggestionStore.unregisterSuggestionBox(this.suggestionId); + $(document).off('click', this.handleDocumentClick); + } + + getTextbox() { + // this is to support old code that looks at the input/textarea DOM nodes + return ReactDOM.findDOMNode(this.refs.textbox); + } + + handleDocumentClick(e) { + if (!this.state.focused) { + return; + } + + const container = $(ReactDOM.findDOMNode(this)); + if (!(container.is(e.target) || container.has(e.target).length > 0)) { + // we can't just use blur for this because it fires and hides the children before + // their click handlers can be called + this.setState({ + focused: false + }); + } + } + + handleFocus() { + this.setState({ + focused: true + }); + + if (this.props.onFocus) { + this.props.onFocus(); + } + } + + handleChange(e) { + const textbox = ReactDOM.findDOMNode(this.refs.textbox); + const caret = Utils.getCaretPosition(textbox); + const pretext = textbox.value.substring(0, caret); + + EventHelpers.emitSuggestionPretextChanged(this.suggestionId, pretext); + + if (this.props.onUserInput) { + this.props.onUserInput(textbox.value); + } + + if (this.props.onChange) { + this.props.onChange(e); + } + } + + handleCompleteWord(term) { + const textbox = ReactDOM.findDOMNode(this.refs.textbox); + const caret = Utils.getCaretPosition(textbox); + + const text = this.props.value; + const prefix = text.substring(0, caret - SuggestionStore.getMatchedPretext(this.suggestionId).length); + const suffix = text.substring(caret); + + if (this.props.onUserInput) { + this.props.onUserInput(prefix + term + ' ' + suffix); + } + + // set the caret position after the next rendering + window.requestAnimationFrame(() => { + Utils.setCaretPosition(textbox, prefix.length + term.length + 1); + }); + } + + handleKeyDown(e) { + if (SuggestionStore.hasSuggestions(this.suggestionId)) { + if (e.which === KeyCodes.UP) { + EventHelpers.emitSelectPreviousSuggestion(this.suggestionId); + e.preventDefault(); + } else if (e.which === KeyCodes.DOWN) { + EventHelpers.emitSelectNextSuggestion(this.suggestionId); + e.preventDefault(); + } else if (e.which === KeyCodes.ENTER || (e.which === KeyCodes.SPACE && SuggestionStore.shouldCompleteOnSpace(this.suggestionId))) { + EventHelpers.emitCompleteWordSuggestion(this.suggestionId); + e.preventDefault(); + } else if (this.props.onKeyDown) { + this.props.onKeyDown(e); + } + } else if (this.props.onKeyDown) { + this.props.onKeyDown(e); + } + } + + handlePretextChanged(pretext) { + for (const provider of this.props.providers) { + provider.handlePretextChanged(this.suggestionId, pretext); + } + } + + render() { + const newProps = Object.assign({}, this.props, { + onFocus: this.handleFocus, + onChange: this.handleChange, + onKeyDown: this.handleKeyDown + }); + + let textbox = null; + if (this.props.type === 'input') { + textbox = ( + <input + ref='textbox' + type='text' + {...newProps} + /> + ); + } else if (this.props.type === 'textarea') { + textbox = ( + <textarea + ref='textbox' + {...newProps} + /> + ); + } + + const SuggestionListComponent = this.props.listComponent; + + return ( + <div> + {textbox} + <SuggestionListComponent + suggestionId={this.suggestionId} + show={this.state.focused} + /> + </div> + ); + } +} + +SuggestionBox.defaultProps = { + type: 'input' +}; + +SuggestionBox.propTypes = { + listComponent: React.PropTypes.func.isRequired, + type: React.PropTypes.oneOf(['input', 'textarea']).isRequired, + value: React.PropTypes.string.isRequired, + onUserInput: React.PropTypes.func, + providers: React.PropTypes.arrayOf(React.PropTypes.object), + + // explicitly name any input event handlers we override and need to manually call + onChange: React.PropTypes.func, + onKeyDown: React.PropTypes.func, + onFocus: React.PropTypes.func +}; diff --git a/web/react/components/suggestion/suggestion_list.jsx b/web/react/components/suggestion/suggestion_list.jsx new file mode 100644 index 000000000..87021fd94 --- /dev/null +++ b/web/react/components/suggestion/suggestion_list.jsx @@ -0,0 +1,126 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import * as EventHelpers from '../../dispatcher/event_helpers.jsx'; +import SuggestionStore from '../../stores/suggestion_store.jsx'; + +export default class SuggestionList extends React.Component { + constructor(props) { + super(props); + + this.getContent = this.getContent.bind(this); + + this.handleItemClick = this.handleItemClick.bind(this); + this.handleSuggestionsChanged = this.handleSuggestionsChanged.bind(this); + + this.scrollToItem = this.scrollToItem.bind(this); + + this.state = { + items: [], + terms: [], + components: [], + selection: '' + }; + } + + componentDidMount() { + SuggestionStore.addSuggestionsChangedListener(this.props.suggestionId, this.handleSuggestionsChanged); + } + + componentWillUnmount() { + SuggestionStore.removeSuggestionsChangedListener(this.props.suggestionId, this.handleSuggestionsChanged); + } + + getContent() { + return $(ReactDOM.findDOMNode(this.refs.content)); + } + + handleItemClick(term, e) { + EventHelpers.emitCompleteWordSuggestion(this.props.suggestionId, term); + + e.preventDefault(); + } + + handleSuggestionsChanged() { + const selection = SuggestionStore.getSelection(this.props.suggestionId); + + this.setState({ + items: SuggestionStore.getItems(this.props.suggestionId), + terms: SuggestionStore.getTerms(this.props.suggestionId), + components: SuggestionStore.getComponents(this.props.suggestionId), + selection + }); + + if (selection) { + window.requestAnimationFrame(() => this.scrollToItem(this.state.selection)); + } + } + + scrollToItem(term) { + const content = this.getContent(); + const visibleContentHeight = content[0].clientHeight; + const actualContentHeight = content[0].scrollHeight; + + if (visibleContentHeight < actualContentHeight) { + const contentTop = content.scrollTop(); + const contentTopPadding = parseInt(content.css('padding-top'), 10); + const contentBottomPadding = parseInt(content.css('padding-top'), 10); + + const item = $(ReactDOM.findDOMNode(this.refs[term])); + const itemTop = item[0].offsetTop - parseInt(item.css('margin-top'), 10); + const itemBottomMargin = parseInt(item.css('margin-bottom'), 10) + parseInt(item.css('padding-bottom'), 10); + const itemBottom = item[0].offsetTop + item.height() + itemBottomMargin; + + if (itemTop - contentTopPadding < contentTop) { + // the item is off the top of the visible space + content.scrollTop(itemTop - contentTopPadding); + } else if (itemBottom + contentTopPadding + contentBottomPadding > contentTop + visibleContentHeight) { + // the item has gone off the bottom of the visible space + content.scrollTop(itemBottom - visibleContentHeight + contentTopPadding + contentBottomPadding); + } + } + } + + render() { + if (this.state.items.length === 0 || !this.props.show) { + return null; + } + + const items = []; + for (let i = 0; i < this.state.items.length; i++) { + const item = this.state.items[i]; + const term = this.state.terms[i]; + const isSelection = term === this.state.selection; + + // ReactComponent names need to be upper case when used in JSX + const Component = this.state.components[i]; + + items.push( + <Component + key={term} + ref={term} + item={item} + term={term} + isSelection={isSelection} + onClick={this.handleItemClick.bind(this, term)} + /> + ); + } + + return ( + <div className='suggestion-list suggestion-list--top'> + <div + ref='content' + className='suggestion-content suggestion-content--top' + > + {items} + </div> + </div> + ); + } +} + +SuggestionList.propTypes = { + suggestionId: React.PropTypes.string.isRequired, + show: React.PropTypes.bool.isRequired +}; diff --git a/web/react/components/team_general_tab.jsx b/web/react/components/team_general_tab.jsx index 795fad671..03715d585 100644 --- a/web/react/components/team_general_tab.jsx +++ b/web/react/components/team_general_tab.jsx @@ -437,6 +437,7 @@ export default class GeneralTab extends React.Component { <input className='form-control' type='text' + maxLength='22' onChange={this.updateName} value={this.state.name} /> diff --git a/web/react/components/textbox.jsx b/web/react/components/textbox.jsx index 10b3c0069..b29f304ab 100644 --- a/web/react/components/textbox.jsx +++ b/web/react/components/textbox.jsx @@ -1,16 +1,16 @@ // Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; -import SearchStore from '../stores/search_store.jsx'; -import CommandList from './command_list.jsx'; +import AtMentionProvider from './suggestion/at_mention_provider.jsx'; +import CommandProvider from './suggestion/command_provider.jsx'; +import EmoticonProvider from './suggestion/emoticon_provider.jsx'; +import SuggestionList from './suggestion/suggestion_list.jsx'; +import SuggestionBox from './suggestion/suggestion_box.jsx'; import ErrorStore from '../stores/error_store.jsx'; import * as TextFormatting from '../utils/text_formatting.jsx'; import * as Utils from '../utils/utils.jsx'; import Constants from '../utils/constants.jsx'; -const ActionTypes = Constants.ActionTypes; -const KeyCodes = Constants.KeyCodes; const PreReleaseFeatures = Constants.PRE_RELEASE_FEATURES; export default class Textbox extends React.Component { @@ -18,32 +18,22 @@ export default class Textbox extends React.Component { super(props); this.getStateFromStores = this.getStateFromStores.bind(this); - this.onListenerChange = this.onListenerChange.bind(this); this.onRecievedError = this.onRecievedError.bind(this); - this.updateMentionTab = this.updateMentionTab.bind(this); - this.handleChange = this.handleChange.bind(this); this.handleKeyPress = this.handleKeyPress.bind(this); this.handleKeyDown = this.handleKeyDown.bind(this); - this.handleBackspace = this.handleBackspace.bind(this); - this.checkForNewMention = this.checkForNewMention.bind(this); - this.addMention = this.addMention.bind(this); - this.addCommand = this.addCommand.bind(this); this.resize = this.resize.bind(this); this.handleFocus = this.handleFocus.bind(this); this.handleBlur = this.handleBlur.bind(this); - this.handlePaste = this.handlePaste.bind(this); this.showPreview = this.showPreview.bind(this); this.state = { - mentionText: '-1', - mentions: [], connection: '' }; - this.caret = -1; - this.addedMention = false; - this.doProcessMentions = false; - this.mentions = []; + this.suggestionProviders = [new AtMentionProvider(), new EmoticonProvider()]; + if (props.supportsCommands) { + this.suggestionProviders.push(new CommandProvider()); + } } getStateFromStores() { @@ -57,24 +47,15 @@ export default class Textbox extends React.Component { } componentDidMount() { - SearchStore.addAddMentionListener(this.onListenerChange); ErrorStore.addChangeListener(this.onRecievedError); this.resize(); - this.updateMentionTab(null); } componentWillUnmount() { - SearchStore.removeAddMentionListener(this.onListenerChange); ErrorStore.removeChangeListener(this.onRecievedError); } - onListenerChange(id, username) { - if (id === this.props.id) { - this.addMention(username); - } - } - onRecievedError() { const errorState = ErrorStore.getLastError(); @@ -86,158 +67,21 @@ export default class Textbox extends React.Component { } componentDidUpdate() { - if (this.caret >= 0) { - Utils.setCaretPosition(ReactDOM.findDOMNode(this.refs.message), this.caret); - this.caret = -1; - } - if (this.doProcessMentions) { - this.updateMentionTab(null); - this.doProcessMentions = false; - } this.resize(); } - componentWillReceiveProps(nextProps) { - if (!this.addedMention) { - this.checkForNewMention(nextProps.messageText); - } - const text = ReactDOM.findDOMNode(this.refs.message).value; - if (nextProps.channelId !== this.props.channelId || nextProps.messageText !== text) { - this.doProcessMentions = true; - } - this.addedMention = false; - this.refs.commands.getSuggestedCommands(nextProps.messageText); - } - - updateMentionTab(mentionText) { - // using setTimeout so dispatch isn't called during an in progress dispatch - setTimeout(() => { - AppDispatcher.handleViewAction({ - type: ActionTypes.RECIEVED_MENTION_DATA, - id: this.props.id, - mention_text: mentionText - }); - }, 1); - } - - handleChange() { - const text = ReactDOM.findDOMNode(this.refs.message).value; - this.props.onUserInput(text); - } - handleKeyPress(e) { - const text = ReactDOM.findDOMNode(this.refs.message).value; - - if (!this.refs.commands.isEmpty() && text.indexOf('/') === 0 && e.which === 13) { - this.refs.commands.addFirstCommand(); - e.preventDefault(); - return; - } - - if (!this.doProcessMentions) { - const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message)); - const preText = text.substring(0, caret); - const lastSpace = preText.lastIndexOf(' '); - const lastAt = preText.lastIndexOf('@'); - - if (caret > lastAt && lastSpace < lastAt) { - this.doProcessMentions = true; - } - } - this.props.onKeyPress(e); } handleKeyDown(e) { - if (Utils.getSelectedText(ReactDOM.findDOMNode(this.refs.message)) !== '') { - this.doProcessMentions = true; - } - - if (e.keyCode === KeyCodes.BACKSPACE) { - this.handleBackspace(e); - } else if (this.props.onKeyDown) { + if (this.props.onKeyDown) { this.props.onKeyDown(e); } } - handleBackspace() { - const text = ReactDOM.findDOMNode(this.refs.message).value; - if (text.indexOf('/') === 0) { - this.refs.commands.getSuggestedCommands(text.substring(0, text.length - 1)); - } - - if (this.doProcessMentions) { - return; - } - - const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message)); - const preText = text.substring(0, caret); - const lastSpace = preText.lastIndexOf(' '); - const lastAt = preText.lastIndexOf('@'); - - if (caret > lastAt && (lastSpace > lastAt || lastSpace === -1)) { - this.doProcessMentions = true; - } - } - - checkForNewMention(text) { - const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message)); - - const preText = text.substring(0, caret); - - const atIndex = preText.lastIndexOf('@'); - - // The @ character not typed, so nothing to do. - if (atIndex === -1) { - this.updateMentionTab('-1'); - return; - } - - const lastCharSpace = preText.lastIndexOf(String.fromCharCode(160)); - const lastSpace = preText.lastIndexOf(' '); - - // If there is a space after the last @, nothing to do. - if (lastSpace > atIndex || lastCharSpace > atIndex) { - this.updateMentionTab('-1'); - return; - } - - // Get the name typed so far. - const name = preText.substring(atIndex + 1, preText.length).toLowerCase(); - this.updateMentionTab(name); - } - - addMention(name) { - const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message)); - - const text = this.props.messageText; - - const preText = text.substring(0, caret); - - const atIndex = preText.lastIndexOf('@'); - - // The @ character not typed, so nothing to do. - if (atIndex === -1) { - return; - } - - const prefix = text.substring(0, atIndex); - const suffix = text.substring(caret, text.length); - this.caret = prefix.length + name.length + 2; - this.addedMention = true; - this.doProcessMentions = true; - - this.props.onUserInput(`${prefix}@${name} ${suffix}`); - } - - addCommand(cmd) { - const elm = ReactDOM.findDOMNode(this.refs.message); - elm.value = cmd; - this.handleChange(); - } - resize() { - const e = ReactDOM.findDOMNode(this.refs.message); + const e = this.refs.message.getTextbox(); const w = ReactDOM.findDOMNode(this.refs.wrapper); const prevHeight = $(e).height(); @@ -272,23 +116,19 @@ export default class Textbox extends React.Component { } handleFocus() { - const elm = ReactDOM.findDOMNode(this.refs.message); + const elm = this.refs.message.getTextbox(); if (elm.title === elm.value) { elm.value = ''; } } handleBlur() { - const elm = ReactDOM.findDOMNode(this.refs.message); + const elm = this.refs.message.getTextbox(); if (elm.value === '') { elm.value = elm.title; } } - handlePaste() { - this.doProcessMentions = true; - } - showPreview(e) { e.preventDefault(); e.target.blur(); @@ -323,15 +163,11 @@ export default class Textbox extends React.Component { ref='wrapper' className='textarea-wrapper' > - <CommandList - ref='commands' - addCommand={this.addCommand} - channelId={this.props.channelId} - /> - <textarea + <SuggestionBox id={this.props.id} ref='message' className={`form-control custom-textarea ${this.state.connection}`} + type='textarea' spellCheck='true' autoComplete='off' autoCorrect='off' @@ -339,14 +175,15 @@ export default class Textbox extends React.Component { maxLength={Constants.MAX_POST_LEN} placeholder={this.props.createMessage} value={this.props.messageText} - onInput={this.handleChange} - onChange={this.handleChange} + onUserInput={this.props.onUserInput} onKeyPress={this.handleKeyPress} onKeyDown={this.handleKeyDown} onFocus={this.handleFocus} onBlur={this.handleBlur} onPaste={this.handlePaste} style={{visibility: this.state.preview ? 'hidden' : 'visible'}} + listComponent={SuggestionList} + providers={this.suggestionProviders} /> <div ref='preview' @@ -367,6 +204,10 @@ export default class Textbox extends React.Component { } } +Textbox.defaultProps = { + supportsCommands: true +}; + Textbox.propTypes = { id: React.PropTypes.string.isRequired, channelId: React.PropTypes.string, @@ -375,5 +216,6 @@ Textbox.propTypes = { onKeyPress: React.PropTypes.func.isRequired, onHeightChange: React.PropTypes.func, createMessage: React.PropTypes.string.isRequired, - onKeyDown: React.PropTypes.func + onKeyDown: React.PropTypes.func, + supportsCommands: React.PropTypes.bool.isRequired }; diff --git a/web/react/components/user_settings/user_settings_notifications.jsx b/web/react/components/user_settings/user_settings_notifications.jsx index e025bf670..f762405af 100644 --- a/web/react/components/user_settings/user_settings_notifications.jsx +++ b/web/react/components/user_settings/user_settings_notifications.jsx @@ -78,7 +78,9 @@ export default class NotificationsTab extends React.Component { super(props); this.handleSubmit = this.handleSubmit.bind(this); + this.handleCancel = this.handleCancel.bind(this); this.updateSection = this.updateSection.bind(this); + this.updateState = this.updateState.bind(this); this.onListenerChange = this.onListenerChange.bind(this); this.handleNotifyRadio = this.handleNotifyRadio.bind(this); this.handleEmailRadio = this.handleEmailRadio.bind(this); @@ -128,10 +130,21 @@ export default class NotificationsTab extends React.Component { }.bind(this) ); } + handleCancel(e) { + this.updateState(); + this.props.updateSection(''); + e.preventDefault(); + } updateSection(section) { - this.setState(getNotificationsStateFromStores()); + this.updateState(); this.props.updateSection(section); } + updateState() { + const newState = getNotificationsStateFromStores(); + if (!Utils.areObjectsEqual(newState, this.state)) { + this.setState(newState); + } + } componentDidMount() { UserStore.addChangeListener(this.onListenerChange); } @@ -139,10 +152,7 @@ export default class NotificationsTab extends React.Component { UserStore.removeChangeListener(this.onListenerChange); } onListenerChange() { - var newState = getNotificationsStateFromStores(); - if (!Utils.areObjectsEqual(newState, this.state)) { - this.setState(newState); - } + this.updateState(); } handleNotifyRadio(notifyLevel) { this.setState({notifyLevel: notifyLevel}); @@ -245,11 +255,6 @@ export default class NotificationsTab extends React.Component { </div> ); - handleUpdateDesktopSection = function updateDesktopSection(e) { - this.props.updateSection(''); - e.preventDefault(); - }.bind(this); - const extraInfo = <span>{'Desktop notifications are available on Firefox, Safari, and Chrome.'}</span>; desktopSection = ( @@ -259,7 +264,7 @@ export default class NotificationsTab extends React.Component { inputs={inputs} submit={this.handleSubmit} server_error={serverError} - updateSection={handleUpdateDesktopSection} + updateSection={this.handleCancel} /> ); } else { @@ -324,11 +329,6 @@ export default class NotificationsTab extends React.Component { </div> ); - handleUpdateSoundSection = function updateSoundSection(e) { - this.props.updateSection(''); - e.preventDefault(); - }.bind(this); - const extraInfo = <span>{'Desktop notification sounds are available on Firefox, Safari, Chrome, Internet Explorer, and Edge.'}</span>; soundSection = ( @@ -338,7 +338,7 @@ export default class NotificationsTab extends React.Component { inputs={inputs} submit={this.handleSubmit} server_error={serverError} - updateSection={handleUpdateSoundSection} + updateSection={this.handleCancel} /> ); } else { @@ -405,18 +405,13 @@ export default class NotificationsTab extends React.Component { </div> ); - handleUpdateEmailSection = function updateEmailSection(e) { - this.props.updateSection(''); - e.preventDefault(); - }.bind(this); - emailSection = ( <SettingItemMax title='Email notifications' inputs={inputs} submit={this.handleSubmit} server_error={serverError} - updateSection={handleUpdateEmailSection} + updateSection={this.handleCancel} /> ); } else { @@ -566,17 +561,13 @@ export default class NotificationsTab extends React.Component { </div> ); - handleUpdateKeysSection = function updateKeysSection(e) { - this.props.updateSection(''); - e.preventDefault(); - }.bind(this); keysSection = ( <SettingItemMax title='Words that trigger mentions' inputs={inputs} submit={this.handleSubmit} server_error={serverError} - updateSection={handleUpdateKeysSection} + updateSection={this.handleCancel} /> ); } else { @@ -653,7 +644,7 @@ export default class NotificationsTab extends React.Component { ref='wrapper' className='user-settings' > - <h3 className='tab-header'>Notifications</h3> + <h3 className='tab-header'>{'Notifications'}</h3> <div className='divider-dark first'/> {desktopSection} <div className='divider-light'/> diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx index 57b4eaa11..f792c610f 100644 --- a/web/react/dispatcher/event_helpers.jsx +++ b/web/react/dispatcher/event_helpers.jsx @@ -111,3 +111,33 @@ export function showRegisterAppModal() { value: true }); } + +export function emitSuggestionPretextChanged(suggestionId, pretext) { + AppDispatcher.handleViewAction({ + type: ActionTypes.SUGGESTION_PRETEXT_CHANGED, + id: suggestionId, + pretext + }); +} + +export function emitSelectNextSuggestion(suggestionId) { + AppDispatcher.handleViewAction({ + type: ActionTypes.SUGGESTION_SELECT_NEXT, + id: suggestionId + }); +} + +export function emitSelectPreviousSuggestion(suggestionId) { + AppDispatcher.handleViewAction({ + type: ActionTypes.SUGGESTION_SELECT_PREVIOUS, + id: suggestionId + }); +} + +export function emitCompleteWordSuggestion(suggestionId, term = '') { + AppDispatcher.handleViewAction({ + type: Constants.ActionTypes.SUGGESTION_COMPLETE_WORD, + id: suggestionId, + term + }); +} diff --git a/web/react/pages/channel.jsx b/web/react/pages/channel.jsx index b73dfdafe..49f0935a9 100644 --- a/web/react/pages/channel.jsx +++ b/web/react/pages/channel.jsx @@ -6,7 +6,6 @@ import ChannelLoader from '../components/channel_loader.jsx'; import ErrorBar from '../components/error_bar.jsx'; import ErrorStore from '../stores/error_store.jsx'; -import MentionList from '../components/mention_list.jsx'; import GetTeamInviteLinkModal from '../components/get_team_invite_link_modal.jsx'; import RenameChannelModal from '../components/rename_channel_modal.jsx'; import EditPostModal from '../components/edit_post_modal.jsx'; @@ -47,21 +46,6 @@ function setupChannelPage(props, team, channel) { document.getElementById('channel_view') ); - ReactDOM.render( - <MentionList id='post_textbox' />, - document.getElementById('post_mention_tab') - ); - - ReactDOM.render( - <MentionList id='reply_textbox' />, - document.getElementById('reply_mention_tab') - ); - - ReactDOM.render( - <MentionList id='edit_textbox' />, - document.getElementById('edit_mention_tab') - ); - // // Modals // diff --git a/web/react/stores/search_store.jsx b/web/react/stores/search_store.jsx index e8ab6a2ae..f932c379a 100644 --- a/web/react/stores/search_store.jsx +++ b/web/react/stores/search_store.jsx @@ -12,8 +12,6 @@ var ActionTypes = Constants.ActionTypes; var CHANGE_EVENT = 'change'; var SEARCH_CHANGE_EVENT = 'search_change'; var SEARCH_TERM_CHANGE_EVENT = 'search_term_change'; -var MENTION_DATA_CHANGE_EVENT = 'mention_data_change'; -var ADD_MENTION_EVENT = 'add_mention'; var SHOW_SEARCH_EVENT = 'show_search'; class SearchStoreClass extends EventEmitter { @@ -32,10 +30,6 @@ class SearchStoreClass extends EventEmitter { this.addSearchTermChangeListener = this.addSearchTermChangeListener.bind(this); this.removeSearchTermChangeListener = this.removeSearchTermChangeListener.bind(this); - this.emitMentionDataChange = this.emitMentionDataChange.bind(this); - this.addMentionDataChangeListener = this.addMentionDataChangeListener.bind(this); - this.removeMentionDataChangeListener = this.removeMentionDataChangeListener.bind(this); - this.emitShowSearch = this.emitShowSearch.bind(this); this.addShowSearchListener = this.addShowSearchListener.bind(this); this.removeShowSearchListener = this.removeShowSearchListener.bind(this); @@ -113,30 +107,6 @@ class SearchStoreClass extends EventEmitter { return BrowserStore.getItem('search_term'); } - emitMentionDataChange(id, mentionText) { - this.emit(MENTION_DATA_CHANGE_EVENT, id, mentionText); - } - - addMentionDataChangeListener(callback) { - this.on(MENTION_DATA_CHANGE_EVENT, callback); - } - - removeMentionDataChangeListener(callback) { - this.removeListener(MENTION_DATA_CHANGE_EVENT, callback); - } - - emitAddMention(id, username) { - this.emit(ADD_MENTION_EVENT, id, username); - } - - addAddMentionListener(callback) { - this.on(ADD_MENTION_EVENT, callback); - } - - removeAddMentionListener(callback) { - this.removeListener(ADD_MENTION_EVENT, callback); - } - storeSearchResults(results, isMentionSearch) { BrowserStore.setItem('search_results', results); BrowserStore.setItem('is_mention_search', Boolean(isMentionSearch)); @@ -157,12 +127,6 @@ SearchStore.dispatchToken = AppDispatcher.register((payload) => { SearchStore.storeSearchTerm(action.term); SearchStore.emitSearchTermChange(action.do_search, action.is_mention_search); break; - case ActionTypes.RECIEVED_MENTION_DATA: - SearchStore.emitMentionDataChange(action.id, action.mention_text); - break; - case ActionTypes.RECIEVED_ADD_MENTION: - SearchStore.emitAddMention(action.id, action.username); - break; case ActionTypes.SHOW_SEARCH: SearchStore.emitShowSearch(); break; diff --git a/web/react/stores/suggestion_store.jsx b/web/react/stores/suggestion_store.jsx new file mode 100644 index 000000000..182f5810f --- /dev/null +++ b/web/react/stores/suggestion_store.jsx @@ -0,0 +1,267 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import AppDispatcher from '../dispatcher/app_dispatcher.jsx'; +import Constants from '../utils/constants.jsx'; +import EventEmitter from 'events'; + +const ActionTypes = Constants.ActionTypes; + +const COMPLETE_WORD_EVENT = 'complete_word'; +const PRETEXT_CHANGED_EVENT = 'pretext_changed'; +const SUGGESTIONS_CHANGED_EVENT = 'suggestions_changed'; + +class SuggestionStore extends EventEmitter { + constructor() { + super(); + + this.addSuggestionsChangedListener = this.addSuggestionsChangedListener.bind(this); + this.removeSuggestionsChangedListener = this.removeSuggestionsChangedListener.bind(this); + this.emitSuggestionsChanged = this.emitSuggestionsChanged.bind(this); + + this.addPretextChangedListener = this.addPretextChangedListener.bind(this); + this.removePretextChangedListener = this.removePretextChangedListener.bind(this); + this.emitPretextChanged = this.emitPretextChanged.bind(this); + + this.addCompleteWordListener = this.addCompleteWordListener.bind(this); + this.removeCompleteWordListener = this.removeCompleteWordListener.bind(this); + this.emitCompleteWord = this.emitCompleteWord.bind(this); + + this.handleEventPayload = this.handleEventPayload.bind(this); + this.dispatchToken = AppDispatcher.register(this.handleEventPayload); + + // this.suggestions stores the state of all SuggestionBoxes by mapping their unique identifier to an + // object with the following fields: + // pretext: the text before the cursor + // matchedPretext: the text before the cursor that will be replaced if an autocomplete term is selected + // terms: a list of strings which the previously typed text may be replaced by + // items: a list of objects backing the terms which may be used in rendering + // components: a list of react components that can be used to render their corresponding item + // selection: the term currently selected by the keyboard + // completeOnSpace: whether or not space will trigger the term to be autocompleted + this.suggestions = new Map(); + } + + addSuggestionsChangedListener(id, callback) { + this.on(SUGGESTIONS_CHANGED_EVENT + id, callback); + } + removeSuggestionsChangedListener(id, callback) { + this.removeListener(SUGGESTIONS_CHANGED_EVENT + id, callback); + } + emitSuggestionsChanged(id) { + this.emit(SUGGESTIONS_CHANGED_EVENT + id); + } + + addPretextChangedListener(id, callback) { + this.on(PRETEXT_CHANGED_EVENT + id, callback); + } + removePretextChangedListener(id, callback) { + this.removeListener(PRETEXT_CHANGED_EVENT + id, callback); + } + emitPretextChanged(id, pretext) { + this.emit(PRETEXT_CHANGED_EVENT + id, pretext); + } + + addCompleteWordListener(id, callback) { + this.on(COMPLETE_WORD_EVENT + id, callback); + } + removeCompleteWordListener(id, callback) { + this.removeListener(COMPLETE_WORD_EVENT + id, callback); + } + emitCompleteWord(id, term) { + this.emit(COMPLETE_WORD_EVENT + id, term); + } + + registerSuggestionBox(id) { + this.suggestions.set(id, { + pretext: '', + matchedPretext: '', + terms: [], + items: [], + components: [], + selection: '', + completeOnSpace: true + }); + } + + unregisterSuggestionBox(id) { + this.suggestions.delete(id); + } + + clearSuggestions(id) { + const suggestion = this.suggestions.get(id); + + suggestion.matchedPretext = ''; + suggestion.terms = []; + suggestion.items = []; + suggestion.components = []; + suggestion.completeOnSpace = true; + } + + clearSelection(id) { + const suggestion = this.suggestions.get(id); + + suggestion.selection = ''; + } + + hasSuggestions(id) { + return this.suggestions.get(id).terms.length > 0; + } + + setPretext(id, pretext) { + const suggestion = this.suggestions.get(id); + + suggestion.pretext = pretext; + } + + setMatchedPretext(id, matchedPretext) { + const suggestion = this.suggestions.get(id); + + suggestion.matchedPretext = matchedPretext; + } + + setCompleteOnSpace(id, completeOnSpace) { + const suggestion = this.suggestions.get(id); + + suggestion.completeOnSpace = completeOnSpace; + } + + addSuggestion(id, term, item, component) { + const suggestion = this.suggestions.get(id); + + suggestion.terms.push(term); + suggestion.items.push(item); + suggestion.components.push(component); + } + + addSuggestions(id, terms, items, component) { + const suggestion = this.suggestions.get(id); + + suggestion.terms.push(...terms); + suggestion.items.push(...items); + + for (let i = 0; i < terms.length; i++) { + suggestion.components.push(component); + } + } + + // make sure that if suggestions exist, then one of them is selected. return true if the selection changes. + ensureSelectionExists(id) { + const suggestion = this.suggestions.get(id); + + if (suggestion.terms.length > 0) { + // if the current selection is no longer in the map, select the first term in the list + if (!suggestion.selection || suggestion.terms.indexOf(suggestion.selection) === -1) { + suggestion.selection = suggestion.terms[0]; + + return true; + } + } else if (suggestion.selection) { + suggestion.selection = ''; + + return true; + } + + return false; + } + + getPretext(id) { + return this.suggestions.get(id).pretext; + } + + getMatchedPretext(id) { + return this.suggestions.get(id).matchedPretext; + } + + getItems(id) { + return this.suggestions.get(id).items; + } + + getTerms(id) { + return this.suggestions.get(id).terms; + } + + getComponents(id) { + return this.suggestions.get(id).components; + } + + getSelection(id) { + return this.suggestions.get(id).selection; + } + + shouldCompleteOnSpace(id) { + return this.suggestions.get(id).completeOnSpace; + } + + selectNext(id) { + this.setSelectionByDelta(id, 1); + } + + selectPrevious(id) { + this.setSelectionByDelta(id, -1); + } + + setSelectionByDelta(id, delta) { + const suggestion = this.suggestions.get(id); + + let selectionIndex = suggestion.terms.indexOf(suggestion.selection); + + if (selectionIndex === -1) { + // this should never happen since selection should always be in terms + throw new Error('selection is not in terms'); + } + + selectionIndex += delta; + + if (selectionIndex < 0) { + selectionIndex = 0; + } else if (selectionIndex > suggestion.terms.length - 1) { + selectionIndex = suggestion.terms.length - 1; + } + + suggestion.selection = suggestion.terms[selectionIndex]; + } + + handleEventPayload(payload) { + const {type, id, ...other} = payload.action; // eslint-disable-line no-redeclare + + switch (type) { + case ActionTypes.SUGGESTION_PRETEXT_CHANGED: + this.clearSuggestions(id); + + this.setPretext(id, other.pretext); + this.emitPretextChanged(id, other.pretext); + + this.ensureSelectionExists(id); + this.emitSuggestionsChanged(id); + break; + case ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS: + if (other.matchedPretext === this.getMatchedPretext(id)) { + // ensure the matched pretext hasn't changed so that we don't receive suggestions for outdated pretext + this.addSuggestions(id, other.terms, other.items, other.component); + + this.ensureSelectionExists(id); + this.emitSuggestionsChanged(id); + } + break; + case ActionTypes.SUGGESTION_SELECT_NEXT: + this.selectNext(id); + this.emitSuggestionsChanged(id); + break; + case ActionTypes.SUGGESTION_SELECT_PREVIOUS: + this.selectPrevious(id); + this.emitSuggestionsChanged(id); + break; + case ActionTypes.SUGGESTION_COMPLETE_WORD: + this.emitCompleteWord(id, other.term || this.getSelection(id), this.getMatchedPretext(id)); + + this.setPretext(id, ''); + this.clearSuggestions(id); + this.clearSelection(id); + this.emitSuggestionsChanged(id); + break; + } + } +} + +export default new SuggestionStore(); diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx index 5df43b548..d97c7c3cb 100644 --- a/web/react/utils/async_client.jsx +++ b/web/react/utils/async_client.jsx @@ -741,3 +741,27 @@ export function savePreferences(preferences, success, error) { } ); } + +export function getSuggestedCommands(command, suggestionId, component) { + client.executeCommand( + '', + command, + true, + (data) => { + // pull out the suggested commands from the returned data + const terms = data.suggestions.map((suggestion) => suggestion.suggestion); + + AppDispatcher.handleServerAction({ + type: ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS, + id: suggestionId, + matchedPretext: command, + terms, + items: data.suggestions, + component + }); + }, + (err) => { + dispatchError(err, 'getCommandSuggestions'); + } + ); +} diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx index 0180d6dc5..8164095b9 100644 --- a/web/react/utils/constants.jsx +++ b/web/react/utils/constants.jsx @@ -24,6 +24,7 @@ export default { RECIEVED_POST: null, RECIEVED_EDIT_POST: null, RECIEVED_SEARCH: null, + RECIEVED_SEARCH_TERM: null, RECIEVED_POST_SELECTED: null, RECIEVED_MENTION_DATA: null, RECIEVED_ADD_MENTION: null, @@ -50,7 +51,13 @@ export default { TOGGLE_INVITE_MEMBER_MODAL: null, TOGGLE_DELETE_POST_MODAL: null, TOGGLE_GET_TEAM_INVITE_LINK_MODAL: null, - TOGGLE_REGISTER_APP_MODAL: null + TOGGLE_REGISTER_APP_MODAL: null, + + SUGGESTION_PRETEXT_CHANGED: null, + SUGGESTION_RECEIVED_SUGGESTIONS: null, + SUGGESTION_COMPLETE_WORD: null, + SUGGESTION_SELECT_NEXT: null, + SUGGESTION_SELECT_PREVIOUS: null }), PayloadSources: keyMirror({ diff --git a/web/react/utils/emoticons.jsx b/web/react/utils/emoticons.jsx index bb948b6dc..ab04936c0 100644 --- a/web/react/utils/emoticons.jsx +++ b/web/react/utils/emoticons.jsx @@ -116,19 +116,19 @@ function initializeEmoticonMap() { const out = new Map(); for (let i = 0; i < emoticonNames.length; i++) { - out[emoticonNames[i]] = true; + out.set(emoticonNames[i], true); } return out; } -const emoticonMap = initializeEmoticonMap(); +export const emoticonMap = initializeEmoticonMap(); export function handleEmoticons(text, tokens) { let output = text; function replaceEmoticonWithToken(fullMatch, prefix, matchText, name) { - if (emoticonMap[name]) { + if (emoticonMap.has(name)) { const index = tokens.size; const alias = `MM_EMOTICON${index}`; @@ -154,6 +154,9 @@ export function handleEmoticons(text, tokens) { return output; } -function getImagePathForEmoticon(name) { - return `/static/images/emoji/${name}.png`; +export function getImagePathForEmoticon(name) { + if (name) { + return `/static/images/emoji/${name}.png`; + } + return `/static/images/emoji`; } diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index d2dd6cf38..0a52f5b37 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -539,11 +539,11 @@ export function applyTheme(theme) { if (theme.sidebarText) { changeCss('.sidebar--left .nav-pills__container li>a, .sidebar--right, .settings-modal .nav-pills>li a, .sidebar--menu', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1); - changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1); + changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1); changeCss('.sidebar--left .nav-pills__container li>h4, .sidebar--left .add-channel-btn', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1); changeCss('.sidebar--left .add-channel-btn:hover, .sidebar--left .add-channel-btn:focus', 'color:' + theme.sidebarText, 1); changeCss('.sidebar--left .status path', 'fill:' + changeOpacity(theme.sidebarText, 0.5), 1); - changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2); + changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2); } if (theme.sidebarUnreadText) { @@ -552,7 +552,7 @@ export function applyTheme(theme) { if (theme.sidebarTextHoverBg) { changeCss('.sidebar--left .nav-pills__container li>a:hover, .sidebar--left .nav-pills__container li>a:focus, .settings-modal .nav-pills>li:hover a, .settings-modal .nav-pills>li:focus a', 'background:' + theme.sidebarTextHoverBg, 1); - changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1); + changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1); } if (theme.sidebarTextActiveBorder) { @@ -568,7 +568,7 @@ export function applyTheme(theme) { changeCss('.sidebar--left .team__header, .sidebar--menu .team__header', 'background:' + theme.sidebarHeaderBg, 1); changeCss('.modal .modal-header', 'background:' + theme.sidebarHeaderBg, 1); changeCss('#navbar .navbar-default', 'background:' + theme.sidebarHeaderBg, 1); - changeCss('@media(max-width: 960px){.search-bar__container', 'background:' + theme.sidebarHeaderBg, 1); + changeCss('@media(max-width: 768px){.search-bar__container', 'background:' + theme.sidebarHeaderBg, 1); changeCss('.attachment .attachment__container', 'border-left-color:' + theme.sidebarHeaderBg, 1); } @@ -579,7 +579,7 @@ export function applyTheme(theme) { changeCss('.modal .modal-header .modal-title, .modal .modal-header .modal-title .name, .modal .modal-header button.close', 'color:' + theme.sidebarHeaderTextColor, 1); changeCss('#navbar .navbar-default .navbar-brand .heading', 'color:' + theme.sidebarHeaderTextColor, 1); changeCss('#navbar .navbar-default .navbar-toggle .icon-bar, ', 'background:' + theme.sidebarHeaderTextColor, 1); - changeCss('@media(max-width: 960px){.search-bar__container', 'color:' + theme.sidebarHeaderTextColor, 2); + changeCss('@media(max-width: 768px){.search-bar__container', 'color:' + theme.sidebarHeaderTextColor, 2); } if (theme.onlineIndicator) { @@ -597,7 +597,7 @@ export function applyTheme(theme) { } if (theme.centerChannelBg) { - changeCss('.app__content, .markdown__table, .markdown__table tbody tr, .command-box, .modal .modal-content, .mentions-name, .mentions--top .mentions-box', 'background:' + theme.centerChannelBg, 1); + changeCss('.app__content, .markdown__table, .markdown__table tbody tr, .suggestion-content, .modal .modal-content', 'background:' + theme.centerChannelBg, 1); changeCss('#post-list .post-list-holder-by-time', 'background:' + theme.centerChannelBg, 1); changeCss('#post-create', 'background:' + theme.centerChannelBg, 1); changeCss('.date-separator .separator__text, .new-separator .separator__text', 'background:' + theme.centerChannelBg, 1); @@ -607,7 +607,7 @@ export function applyTheme(theme) { changeCss('.popover.right>.arrow:after, .tip-overlay.tip-overlay--sidebar .arrow, .tip-overlay.tip-overlay--header .arrow', 'border-right-color:' + theme.centerChannelBg, 1); changeCss('.popover.left>.arrow:after', 'border-left-color:' + theme.centerChannelBg, 1); changeCss('.popover.top>.arrow:after, .tip-overlay.tip-overlay--chat .arrow', 'border-top-color:' + theme.centerChannelBg, 1); - changeCss('@media(min-width: 960px){.search-bar__container .search__form .search-bar, .form-control', 'background:' + theme.centerChannelBg, 1); + changeCss('@media(min-width: 768px){.search-bar__container .search__form .search-bar, .form-control', 'background:' + theme.centerChannelBg, 1); changeCss('.attachment__content', 'background:' + theme.centerChannelBg, 1); } @@ -615,9 +615,9 @@ export function applyTheme(theme) { changeCss('.sidebar--left, .sidebar--right .sidebar--right__header', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1); changeCss('.app__content, .post-create__container .post-create-body .btn-file, .post-create__container .post-create-footer .msg-typing, .command-name, .modal .modal-content, .dropdown-menu, .popover, .mentions-name, .tip-overlay', 'color:' + theme.centerChannelColor, 1); changeCss('#post-create', 'color:' + theme.centerChannelColor, 2); - changeCss('.mentions--top, .command-box', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 3); - changeCss('.mentions--top, .command-box', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 2); - changeCss('.mentions--top, .command-box', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 1); + changeCss('.mentions--top, .suggestion-list', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 3); + changeCss('.mentions--top, .suggestion-list', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 2); + changeCss('.mentions--top, .suggestion-list', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 1); changeCss('.dropdown-menu, .popover ', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 3); changeCss('.dropdown-menu, .popover ', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 2); changeCss('.dropdown-menu, .popover ', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 1); @@ -626,7 +626,7 @@ export function applyTheme(theme) { changeCss('.markdown__table tbody tr:nth-child(2n)', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1); changeCss('.channel-header__info>div.dropdown .header-dropdown__icon', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1); changeCss('.channel-header #member_popover', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1); - changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .command-box, .modal .modal-content, .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover, .mentions--top .mentions-box', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1); + changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .suggestion-content, .modal .modal-content, .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1); changeCss('.popover.bottom>.arrow', 'border-bottom-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1); changeCss('.search-help-popover .search-autocomplete__divider span', 'color:' + changeOpacity(theme.centerChannelColor, 0.7), 1); changeCss('.popover.right>.arrow', 'border-right-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1); @@ -638,7 +638,7 @@ export function applyTheme(theme) { changeCss('.post-image__column', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 2); changeCss('.post-image__column .post-image__details', 'color:' + theme.centerChannelColor, 2); changeCss('.post-image__column a, .post-image__column a:hover, .post-image__column a:focus', 'color:' + theme.centerChannelColor, 1); - changeCss('@media(min-width: 960px){.search-bar__container .search__form .search-bar, .form-control', 'color:' + theme.centerChannelColor, 2); + changeCss('@media(min-width: 768px){.search-bar__container .search__form .search-bar, .form-control', 'color:' + theme.centerChannelColor, 2); changeCss('.input-group-addon, .search-bar__container .search__form, .form-control', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1); changeCss('.form-control:focus', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1); changeCss('.attachment .attachment__content', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1); @@ -652,7 +652,7 @@ export function applyTheme(theme) { changeCss('@media(max-width: 1800px){.inner__wrap.move--left .post.post--comment.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 2); changeCss('.post:hover, .modal .more-table tbody>tr:hover td, .settings-modal .settings-table .settings-content .section-min:hover', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1); changeCss('.date-separator.hovered--before:after, .date-separator.hovered--after:before, .new-separator.hovered--after:before, .new-separator.hovered--before:after', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1); - changeCss('.command-name:hover, .mentions-name:hover, .mentions-focus, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1); + changeCss('.command-name:hover, .mentions-name:hover, .suggestion--selected, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1); changeCss('code', 'background:' + changeOpacity(theme.centerChannelColor, 0.1), 1); changeCss('@media(min-width: 960px){.post.current--user:hover .post__body ', 'background: none;', 1); changeCss('.sidebar--right', 'color:' + theme.centerChannelColor, 2); @@ -695,15 +695,19 @@ export function applyTheme(theme) { } export function applyFont(fontName) { - const body = document.querySelector('body'); - const keys = Object.getOwnPropertyNames(body.classList); - keys.forEach((k) => { - const className = body.classList[k]; - if (className && className.lastIndexOf('font') === 0) { - body.classList.remove(className); + const body = $('body'); + + for (const key of Reflect.ownKeys(Constants.FONTS)) { + const className = Constants.FONTS[key]; + + if (fontName === key) { + if (!body.hasClass(className)) { + body.addClass(className); + } + } else { + body.removeClass(className); } - }); - body.classList.add(Constants.FONTS[fontName]); + } } export function changeCss(className, classValue, classRepeat) { diff --git a/web/sass-files/sass/partials/_admin-console.scss b/web/sass-files/sass/partials/_admin-console.scss index 206d5bfca..af827a7f8 100644 --- a/web/sass-files/sass/partials/_admin-console.scss +++ b/web/sass-files/sass/partials/_admin-console.scss @@ -37,13 +37,22 @@ background: #333; padding: 10px 10px; margin: 1px 0 0; + .menu-icon--right { + top: 6px; + right: 12px; + } } } .menu-icon--right { - vertical-align: top; - padding: 5px 10px; - margin: -5px; - float: right; + position: absolute; + right: 10px; + top: 3px; + font-size: 18px; + font-weight: 600; + width: 20px; + height: 20px; + line-height: 20px; + text-align: center; .fa { font-size: 13px; right: -2px; @@ -60,7 +69,7 @@ li { > a { font-size: 13px; - padding: 5px 15px; + padding: 5px 35px 5px 15px; background: transparent; color: #bbb; &:hover { diff --git a/web/sass-files/sass/partials/_command-box.scss b/web/sass-files/sass/partials/_command-box.scss deleted file mode 100644 index 184fb55eb..000000000 --- a/web/sass-files/sass/partials/_command-box.scss +++ /dev/null @@ -1,35 +0,0 @@ -.command-box { - position: absolute; - background-color: #fff; - width: 100%; - border: $border-gray; - bottom: 38px; - overflow: auto; - z-index: 100; - @extend %popover-box-shadow; - .sidebar--right & { - bottom: 100px; - } -} - -.command-name { - position: relative; - width: 100%; - line-height: 24px; - padding: 5px 10px 8px; - z-index: 101; - font-size: 0.95em; - border-bottom: 1px solid #ddd; - &:hover { - background-color: #e8eaed; - } - .command__desc { - margin-left: 5px; - @include opacity(0.5); - line-height: normal; - } -} - -.command-desc { - color: #a7a8ab; -}
\ No newline at end of file diff --git a/web/sass-files/sass/partials/_content.scss b/web/sass-files/sass/partials/_content.scss index 44a959a9b..817817854 100644 --- a/web/sass-files/sass/partials/_content.scss +++ b/web/sass-files/sass/partials/_content.scss @@ -1,5 +1,5 @@ .inner__wrap { - @include single-transition(transform, 0.5s, ease); + @include single-transition(all, 0.5s, ease); &.move--left { margin-right: 400px; .search-bar__container { @@ -30,6 +30,20 @@ width: 100%; z-index: 3; } + +#archive-link-home { + @include flex(0 0 auto); + background: #fff; + width: 100%; + min-height: 50px; + z-index: 3; + background-color: beige; + text-align: center; + vertical-align: middle; + padding-top: 10px; + cursor: pointer; +} + .post-list { .new-messages-hr { margin-top: 5px; diff --git a/web/sass-files/sass/partials/_mentions.scss b/web/sass-files/sass/partials/_mentions.scss index f59cefbc6..ee5b7f6d0 100644 --- a/web/sass-files/sass/partials/_mentions.scss +++ b/web/sass-files/sass/partials/_mentions.scss @@ -7,26 +7,9 @@ @include border-radius(3px); } -.mentions--top { - position: absolute; - z-index: 1060; - @extend %popover-box-shadow; - .mentions-box { - width: 100%; - height: 100%; - position: absolute; - background-color: #fff; - border: $border-gray; - overflow-x: hidden; - overflow-y: scroll; - bottom: 0; - } -} - .mentions-name { position:relative; width:100%; - background-color:#fff; height:36px; padding:2px; z-index:101; @@ -57,4 +40,4 @@ .mention-highlight { background-color:#fff2bb; -}
\ No newline at end of file +} diff --git a/web/sass-files/sass/partials/_modal.scss b/web/sass-files/sass/partials/_modal.scss index 4a56bc6c7..01c9e136c 100644 --- a/web/sass-files/sass/partials/_modal.scss +++ b/web/sass-files/sass/partials/_modal.scss @@ -405,3 +405,11 @@ @include opacity(0.7); } } + +.modal-body.edit-modal-body { + overflow: visible; + + .suggestion-content { + max-height: 150px; + } +} diff --git a/web/sass-files/sass/partials/_popover.scss b/web/sass-files/sass/partials/_popover.scss index 7d98935d5..a48bfb22d 100644 --- a/web/sass-files/sass/partials/_popover.scss +++ b/web/sass-files/sass/partials/_popover.scss @@ -94,6 +94,8 @@ } .popover-content { + max-height: 500px; + overflow: auto; padding: 3px 13px; } diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss index a56c4bb17..9b316d48e 100644 --- a/web/sass-files/sass/partials/_responsive.scss +++ b/web/sass-files/sass/partials/_responsive.scss @@ -51,23 +51,27 @@ @media screen and (max-width: 960px) { - .signup-team__container { - font-size: 1em; - } + .sidebar--right { + width: 400px; + z-index: 5; + right: 0; + @include translateX(100%); - .post { + &.move--left { + @include translateX(0); + } - &.same--root { + } - &.same--user { + .inner__wrap { - .post__time { - display: none; - } + &.move--left { + margin-right: 0; + } - } + } - } + .post { .post-list__content & { @@ -106,6 +110,30 @@ } + } + +} + +@media screen and (max-width: 768px) { + + .signup-team__container { + font-size: 1em; + } + + .post { + + &.same--root { + + &.same--user { + + .post__time { + display: none; + } + + } + + } + .post__img { width: 40px; diff --git a/web/sass-files/sass/partials/_search.scss b/web/sass-files/sass/partials/_search.scss index b7f658114..0debb7e54 100644 --- a/web/sass-files/sass/partials/_search.scss +++ b/web/sass-files/sass/partials/_search.scss @@ -95,7 +95,6 @@ border-top: $border-gray; padding: 10px 1em; margin: 0; - cursor: pointer; &:first-child { border: none; @@ -107,6 +106,10 @@ } } +.search-item__jump { + margin-left: 10px; +} + .search-item-time { color: #a8adb7; } diff --git a/web/sass-files/sass/partials/_settings.scss b/web/sass-files/sass/partials/_settings.scss index 0d75a42df..ad52e0bbb 100644 --- a/web/sass-files/sass/partials/_settings.scss +++ b/web/sass-files/sass/partials/_settings.scss @@ -37,7 +37,8 @@ label { font-weight: 600; } - .no-padding--left { + + .no-padding--left { padding-left: 0; } .padding-top { @@ -78,7 +79,6 @@ } .nav { position: fixed; - top: 57px; width: 179px; &.absolute { position: absolute; diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss index 43162831d..735b2a99e 100644 --- a/web/sass-files/sass/partials/_sidebar--right.scss +++ b/web/sass-files/sass/partials/_sidebar--right.scss @@ -93,6 +93,10 @@ padding-bottom: 10px; } } + + .suggestion-content { + max-height: 120px; + } } .sidebar-right-container { diff --git a/web/sass-files/sass/partials/_suggestion_list.scss b/web/sass-files/sass/partials/_suggestion_list.scss new file mode 100644 index 000000000..0cf3fff5f --- /dev/null +++ b/web/sass-files/sass/partials/_suggestion_list.scss @@ -0,0 +1,63 @@ +.suggestion-list { + width: 100%; + z-index: 100; + @extend %popover-box-shadow; +} + +.suggestion-list--top { + position: absolute; +} + +.suggestion-content { + width: 100%; + max-height: 292px; + background-color: #fff; + border: $border-gray; + overflow-x: hidden; + overflow-y: scroll; +} + +.suggestion-content--top { + position: absolute; + bottom: 0; +} + +.suggestion--selected { + // set by theme code +} + +.command-name { + position: relative; + width: 100%; + line-height: 24px; + padding: 5px 10px 8px; + z-index: 101; + font-size: 0.95em; + border-bottom: 1px solid #ddd; + + .command__desc { + margin-left: 5px; + @include opacity(0.5); + line-height: normal; + } +} + +.command-desc { + color: #a7a8ab; +} + +.emoticon-suggestion { + width: 100%; + height: 36px; + cursor: pointer; + font-size: 13px; + line-height: 36px; +} + +.emoticon-suggestion__image { + width: 32px; + height: 32px; + margin-right: 6px; + padding: 2px; + text-align: center; +} diff --git a/web/sass-files/sass/partials/_tutorial.scss b/web/sass-files/sass/partials/_tutorial.scss index cfbc3454a..8ab29ab10 100644 --- a/web/sass-files/sass/partials/_tutorial.scss +++ b/web/sass-files/sass/partials/_tutorial.scss @@ -81,7 +81,7 @@ color: #fff; @include border-radius(3px); border: none; - margin-bottom: 10px; + margin: 10px 0; &:hover, &:active, &:focus { color: #fff; diff --git a/web/sass-files/sass/styles.scss b/web/sass-files/sass/styles.scss index 01f654eec..e7fd7c976 100644 --- a/web/sass-files/sass/styles.scss +++ b/web/sass-files/sass/styles.scss @@ -32,7 +32,6 @@ @import "partials/modal"; @import "partials/forms"; @import "partials/mentions"; -@import "partials/command-box"; @import "partials/error"; @import "partials/error-bar"; @import "partials/loading"; @@ -40,6 +39,7 @@ @import "partials/markdown"; @import "partials/tutorial"; @import "partials/statistics"; +@import "partials/suggestion_list"; // Elements @import "partials/tooltips"; diff --git a/web/static/images/emoji/+1.png b/web/static/images/emoji/+1.png Binary files differindex 81786c1d8..26949329f 100755..100644 --- a/web/static/images/emoji/+1.png +++ b/web/static/images/emoji/+1.png diff --git a/web/static/images/emoji/-1.png b/web/static/images/emoji/-1.png Binary files differindex 41c6b825d..9b6d251b5 100755..100644 --- a/web/static/images/emoji/-1.png +++ b/web/static/images/emoji/-1.png diff --git a/web/static/images/emoji/0023-20e3.png b/web/static/images/emoji/0023-20e3.png Binary files differnew file mode 100644 index 000000000..9e4cda640 --- /dev/null +++ b/web/static/images/emoji/0023-20e3.png diff --git a/web/static/images/emoji/0030-20e3.png b/web/static/images/emoji/0030-20e3.png Binary files differnew file mode 100644 index 000000000..56e4e0672 --- /dev/null +++ b/web/static/images/emoji/0030-20e3.png diff --git a/web/static/images/emoji/0031-20e3.png b/web/static/images/emoji/0031-20e3.png Binary files differnew file mode 100644 index 000000000..b10ef8c0c --- /dev/null +++ b/web/static/images/emoji/0031-20e3.png diff --git a/web/static/images/emoji/0032-20e3.png b/web/static/images/emoji/0032-20e3.png Binary files differnew file mode 100644 index 000000000..a062ea93a --- /dev/null +++ b/web/static/images/emoji/0032-20e3.png diff --git a/web/static/images/emoji/0033-20e3.png b/web/static/images/emoji/0033-20e3.png Binary files differnew file mode 100644 index 000000000..96ac84050 --- /dev/null +++ b/web/static/images/emoji/0033-20e3.png diff --git a/web/static/images/emoji/0034-20e3.png b/web/static/images/emoji/0034-20e3.png Binary files differnew file mode 100644 index 000000000..a8b4dc052 --- /dev/null +++ b/web/static/images/emoji/0034-20e3.png diff --git a/web/static/images/emoji/0035-20e3.png b/web/static/images/emoji/0035-20e3.png Binary files differnew file mode 100644 index 000000000..9b527aeb7 --- /dev/null +++ b/web/static/images/emoji/0035-20e3.png diff --git a/web/static/images/emoji/0036-20e3.png b/web/static/images/emoji/0036-20e3.png Binary files differnew file mode 100644 index 000000000..cd0b30fd2 --- /dev/null +++ b/web/static/images/emoji/0036-20e3.png diff --git a/web/static/images/emoji/0037-20e3.png b/web/static/images/emoji/0037-20e3.png Binary files differnew file mode 100644 index 000000000..33151fdba --- /dev/null +++ b/web/static/images/emoji/0037-20e3.png diff --git a/web/static/images/emoji/0038-20e3.png b/web/static/images/emoji/0038-20e3.png Binary files differnew file mode 100644 index 000000000..48c5ca813 --- /dev/null +++ b/web/static/images/emoji/0038-20e3.png diff --git a/web/static/images/emoji/0039-20e3.png b/web/static/images/emoji/0039-20e3.png Binary files differnew file mode 100644 index 000000000..e6b38a109 --- /dev/null +++ b/web/static/images/emoji/0039-20e3.png diff --git a/web/static/images/emoji/00a9.png b/web/static/images/emoji/00a9.png Binary files differnew file mode 100644 index 000000000..9872c5b7e --- /dev/null +++ b/web/static/images/emoji/00a9.png diff --git a/web/static/images/emoji/00ae.png b/web/static/images/emoji/00ae.png Binary files differnew file mode 100644 index 000000000..68d445daf --- /dev/null +++ b/web/static/images/emoji/00ae.png diff --git a/web/static/images/emoji/100.png b/web/static/images/emoji/100.png Binary files differindex ca3bb9bcf..cd308ad66 100755..100644 --- a/web/static/images/emoji/100.png +++ b/web/static/images/emoji/100.png diff --git a/web/static/images/emoji/1234.png b/web/static/images/emoji/1234.png Binary files differindex c47c2e1f9..17ec5f12a 100755..100644 --- a/web/static/images/emoji/1234.png +++ b/web/static/images/emoji/1234.png diff --git a/web/static/images/emoji/1f004.png b/web/static/images/emoji/1f004.png Binary files differnew file mode 100644 index 000000000..16a59d954 --- /dev/null +++ b/web/static/images/emoji/1f004.png diff --git a/web/static/images/emoji/1f0cf.png b/web/static/images/emoji/1f0cf.png Binary files differnew file mode 100644 index 000000000..1cbc43e84 --- /dev/null +++ b/web/static/images/emoji/1f0cf.png diff --git a/web/static/images/emoji/1f170.png b/web/static/images/emoji/1f170.png Binary files differnew file mode 100644 index 000000000..7b1f9663c --- /dev/null +++ b/web/static/images/emoji/1f170.png diff --git a/web/static/images/emoji/1f171.png b/web/static/images/emoji/1f171.png Binary files differnew file mode 100644 index 000000000..cf87ad1fc --- /dev/null +++ b/web/static/images/emoji/1f171.png diff --git a/web/static/images/emoji/1f17e.png b/web/static/images/emoji/1f17e.png Binary files differnew file mode 100644 index 000000000..b39215725 --- /dev/null +++ b/web/static/images/emoji/1f17e.png diff --git a/web/static/images/emoji/1f17f.png b/web/static/images/emoji/1f17f.png Binary files differnew file mode 100644 index 000000000..340033226 --- /dev/null +++ b/web/static/images/emoji/1f17f.png diff --git a/web/static/images/emoji/1f18e.png b/web/static/images/emoji/1f18e.png Binary files differnew file mode 100644 index 000000000..386ec09fe --- /dev/null +++ b/web/static/images/emoji/1f18e.png diff --git a/web/static/images/emoji/1f191.png b/web/static/images/emoji/1f191.png Binary files differnew file mode 100644 index 000000000..ccd6494e6 --- /dev/null +++ b/web/static/images/emoji/1f191.png diff --git a/web/static/images/emoji/1f192.png b/web/static/images/emoji/1f192.png Binary files differnew file mode 100644 index 000000000..07c22b8c5 --- /dev/null +++ b/web/static/images/emoji/1f192.png diff --git a/web/static/images/emoji/1f193.png b/web/static/images/emoji/1f193.png Binary files differnew file mode 100644 index 000000000..0da6a1112 --- /dev/null +++ b/web/static/images/emoji/1f193.png diff --git a/web/static/images/emoji/1f194.png b/web/static/images/emoji/1f194.png Binary files differnew file mode 100644 index 000000000..3ae8bc2b9 --- /dev/null +++ b/web/static/images/emoji/1f194.png diff --git a/web/static/images/emoji/1f195.png b/web/static/images/emoji/1f195.png Binary files differnew file mode 100644 index 000000000..9d9f89101 --- /dev/null +++ b/web/static/images/emoji/1f195.png diff --git a/web/static/images/emoji/1f196.png b/web/static/images/emoji/1f196.png Binary files differnew file mode 100644 index 000000000..cc45e9df2 --- /dev/null +++ b/web/static/images/emoji/1f196.png diff --git a/web/static/images/emoji/1f197.png b/web/static/images/emoji/1f197.png Binary files differnew file mode 100644 index 000000000..ffa868d43 --- /dev/null +++ b/web/static/images/emoji/1f197.png diff --git a/web/static/images/emoji/1f198.png b/web/static/images/emoji/1f198.png Binary files differnew file mode 100644 index 000000000..4af944919 --- /dev/null +++ b/web/static/images/emoji/1f198.png diff --git a/web/static/images/emoji/1f199.png b/web/static/images/emoji/1f199.png Binary files differnew file mode 100644 index 000000000..aa7974ec1 --- /dev/null +++ b/web/static/images/emoji/1f199.png diff --git a/web/static/images/emoji/1f19a.png b/web/static/images/emoji/1f19a.png Binary files differnew file mode 100644 index 000000000..327337277 --- /dev/null +++ b/web/static/images/emoji/1f19a.png diff --git a/web/static/images/emoji/1f1e6-1f1e8.png b/web/static/images/emoji/1f1e6-1f1e8.png Binary files differnew file mode 100644 index 000000000..56115ba78 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1e8.png diff --git a/web/static/images/emoji/1f1e6-1f1e9.png b/web/static/images/emoji/1f1e6-1f1e9.png Binary files differnew file mode 100644 index 000000000..d3fabc4b0 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1e9.png diff --git a/web/static/images/emoji/1f1e6-1f1ea.png b/web/static/images/emoji/1f1e6-1f1ea.png Binary files differnew file mode 100644 index 000000000..57cade93b --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1ea.png diff --git a/web/static/images/emoji/1f1e6-1f1eb.png b/web/static/images/emoji/1f1e6-1f1eb.png Binary files differnew file mode 100644 index 000000000..af7e886df --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1eb.png diff --git a/web/static/images/emoji/1f1e6-1f1ec.png b/web/static/images/emoji/1f1e6-1f1ec.png Binary files differnew file mode 100644 index 000000000..9e2dc805e --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1ec.png diff --git a/web/static/images/emoji/1f1e6-1f1ee.png b/web/static/images/emoji/1f1e6-1f1ee.png Binary files differnew file mode 100644 index 000000000..2046a5a83 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1ee.png diff --git a/web/static/images/emoji/1f1e6-1f1f1.png b/web/static/images/emoji/1f1e6-1f1f1.png Binary files differnew file mode 100644 index 000000000..0c76f4af4 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1f1.png diff --git a/web/static/images/emoji/1f1e6-1f1f2.png b/web/static/images/emoji/1f1e6-1f1f2.png Binary files differnew file mode 100644 index 000000000..1e39fe1fe --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1f2.png diff --git a/web/static/images/emoji/1f1e6-1f1f4.png b/web/static/images/emoji/1f1e6-1f1f4.png Binary files differnew file mode 100644 index 000000000..01a469e9e --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1f4.png diff --git a/web/static/images/emoji/1f1e6-1f1f7.png b/web/static/images/emoji/1f1e6-1f1f7.png Binary files differnew file mode 100644 index 000000000..603697bad --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1f7.png diff --git a/web/static/images/emoji/1f1e6-1f1f9.png b/web/static/images/emoji/1f1e6-1f1f9.png Binary files differnew file mode 100644 index 000000000..38988f737 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1f9.png diff --git a/web/static/images/emoji/1f1e6-1f1fa.png b/web/static/images/emoji/1f1e6-1f1fa.png Binary files differnew file mode 100644 index 000000000..fdc448c91 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1fa.png diff --git a/web/static/images/emoji/1f1e6-1f1fc.png b/web/static/images/emoji/1f1e6-1f1fc.png Binary files differnew file mode 100644 index 000000000..fda4d0b19 --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1fc.png diff --git a/web/static/images/emoji/1f1e6-1f1ff.png b/web/static/images/emoji/1f1e6-1f1ff.png Binary files differnew file mode 100644 index 000000000..3efb55bfc --- /dev/null +++ b/web/static/images/emoji/1f1e6-1f1ff.png diff --git a/web/static/images/emoji/1f1e7-1f1e6.png b/web/static/images/emoji/1f1e7-1f1e6.png Binary files differnew file mode 100644 index 000000000..47028b1f2 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1e6.png diff --git a/web/static/images/emoji/1f1e7-1f1e7.png b/web/static/images/emoji/1f1e7-1f1e7.png Binary files differnew file mode 100644 index 000000000..8bfb6fcb0 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1e7.png diff --git a/web/static/images/emoji/1f1e7-1f1e9.png b/web/static/images/emoji/1f1e7-1f1e9.png Binary files differnew file mode 100644 index 000000000..a4b7928c8 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1e9.png diff --git a/web/static/images/emoji/1f1e7-1f1ea.png b/web/static/images/emoji/1f1e7-1f1ea.png Binary files differnew file mode 100644 index 000000000..f996f6fc0 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1ea.png diff --git a/web/static/images/emoji/1f1e7-1f1eb.png b/web/static/images/emoji/1f1e7-1f1eb.png Binary files differnew file mode 100644 index 000000000..185eb5a92 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1eb.png diff --git a/web/static/images/emoji/1f1e7-1f1ec.png b/web/static/images/emoji/1f1e7-1f1ec.png Binary files differnew file mode 100644 index 000000000..849c68a22 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1ec.png diff --git a/web/static/images/emoji/1f1e7-1f1ed.png b/web/static/images/emoji/1f1e7-1f1ed.png Binary files differnew file mode 100644 index 000000000..b0cabb344 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1ed.png diff --git a/web/static/images/emoji/1f1e7-1f1ee.png b/web/static/images/emoji/1f1e7-1f1ee.png Binary files differnew file mode 100644 index 000000000..b2de6ba9d --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1ee.png diff --git a/web/static/images/emoji/1f1e7-1f1ef.png b/web/static/images/emoji/1f1e7-1f1ef.png Binary files differnew file mode 100644 index 000000000..6023c7286 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1ef.png diff --git a/web/static/images/emoji/1f1e7-1f1f2.png b/web/static/images/emoji/1f1e7-1f1f2.png Binary files differnew file mode 100644 index 000000000..cce7665e5 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1f2.png diff --git a/web/static/images/emoji/1f1e7-1f1f3.png b/web/static/images/emoji/1f1e7-1f1f3.png Binary files differnew file mode 100644 index 000000000..37ffaaf4a --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1f3.png diff --git a/web/static/images/emoji/1f1e7-1f1f4.png b/web/static/images/emoji/1f1e7-1f1f4.png Binary files differnew file mode 100644 index 000000000..9e7b9bd6d --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1f4.png diff --git a/web/static/images/emoji/1f1e7-1f1f7.png b/web/static/images/emoji/1f1e7-1f1f7.png Binary files differnew file mode 100644 index 000000000..1218801ec --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1f7.png diff --git a/web/static/images/emoji/1f1e7-1f1f8.png b/web/static/images/emoji/1f1e7-1f1f8.png Binary files differnew file mode 100644 index 000000000..56304afc5 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1f8.png diff --git a/web/static/images/emoji/1f1e7-1f1f9.png b/web/static/images/emoji/1f1e7-1f1f9.png Binary files differnew file mode 100644 index 000000000..5419aeeb3 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1f9.png diff --git a/web/static/images/emoji/1f1e7-1f1fc.png b/web/static/images/emoji/1f1e7-1f1fc.png Binary files differnew file mode 100644 index 000000000..b82b4e244 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1fc.png diff --git a/web/static/images/emoji/1f1e7-1f1fe.png b/web/static/images/emoji/1f1e7-1f1fe.png Binary files differnew file mode 100644 index 000000000..fbf36a528 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1fe.png diff --git a/web/static/images/emoji/1f1e7-1f1ff.png b/web/static/images/emoji/1f1e7-1f1ff.png Binary files differnew file mode 100644 index 000000000..4e300a7a9 --- /dev/null +++ b/web/static/images/emoji/1f1e7-1f1ff.png diff --git a/web/static/images/emoji/1f1e8-1f1e6.png b/web/static/images/emoji/1f1e8-1f1e6.png Binary files differnew file mode 100644 index 000000000..2838b5e82 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1e6.png diff --git a/web/static/images/emoji/1f1e8-1f1e9.png b/web/static/images/emoji/1f1e8-1f1e9.png Binary files differnew file mode 100644 index 000000000..b7620b487 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1e9.png diff --git a/web/static/images/emoji/1f1e8-1f1eb.png b/web/static/images/emoji/1f1e8-1f1eb.png Binary files differnew file mode 100644 index 000000000..32accc631 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1eb.png diff --git a/web/static/images/emoji/1f1e8-1f1ec.png b/web/static/images/emoji/1f1e8-1f1ec.png Binary files differnew file mode 100644 index 000000000..51d0cb55b --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1ec.png diff --git a/web/static/images/emoji/1f1e8-1f1ed.png b/web/static/images/emoji/1f1e8-1f1ed.png Binary files differnew file mode 100644 index 000000000..53f7c0496 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1ed.png diff --git a/web/static/images/emoji/1f1e8-1f1ee.png b/web/static/images/emoji/1f1e8-1f1ee.png Binary files differnew file mode 100644 index 000000000..3a1fb1946 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1ee.png diff --git a/web/static/images/emoji/1f1e8-1f1f1.png b/web/static/images/emoji/1f1e8-1f1f1.png Binary files differnew file mode 100644 index 000000000..ebbf710d2 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1f1.png diff --git a/web/static/images/emoji/1f1e8-1f1f2.png b/web/static/images/emoji/1f1e8-1f1f2.png Binary files differnew file mode 100644 index 000000000..71024ac1c --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1f2.png diff --git a/web/static/images/emoji/1f1e8-1f1f3.png b/web/static/images/emoji/1f1e8-1f1f3.png Binary files differnew file mode 100644 index 000000000..0151923f3 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1f3.png diff --git a/web/static/images/emoji/1f1e8-1f1f4.png b/web/static/images/emoji/1f1e8-1f1f4.png Binary files differnew file mode 100644 index 000000000..b64536ac3 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1f4.png diff --git a/web/static/images/emoji/1f1e8-1f1f7.png b/web/static/images/emoji/1f1e8-1f1f7.png Binary files differnew file mode 100644 index 000000000..74612a90e --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1f7.png diff --git a/web/static/images/emoji/1f1e8-1f1fa.png b/web/static/images/emoji/1f1e8-1f1fa.png Binary files differnew file mode 100644 index 000000000..37a9cc10b --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1fa.png diff --git a/web/static/images/emoji/1f1e8-1f1fb.png b/web/static/images/emoji/1f1e8-1f1fb.png Binary files differnew file mode 100644 index 000000000..7a6a41e90 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1fb.png diff --git a/web/static/images/emoji/1f1e8-1f1fe.png b/web/static/images/emoji/1f1e8-1f1fe.png Binary files differnew file mode 100644 index 000000000..4f593449a --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1fe.png diff --git a/web/static/images/emoji/1f1e8-1f1ff.png b/web/static/images/emoji/1f1e8-1f1ff.png Binary files differnew file mode 100644 index 000000000..aa9a40c74 --- /dev/null +++ b/web/static/images/emoji/1f1e8-1f1ff.png diff --git a/web/static/images/emoji/1f1e9-1f1ea.png b/web/static/images/emoji/1f1e9-1f1ea.png Binary files differnew file mode 100644 index 000000000..168ab43c3 --- /dev/null +++ b/web/static/images/emoji/1f1e9-1f1ea.png diff --git a/web/static/images/emoji/1f1e9-1f1ef.png b/web/static/images/emoji/1f1e9-1f1ef.png Binary files differnew file mode 100644 index 000000000..ba0833714 --- /dev/null +++ b/web/static/images/emoji/1f1e9-1f1ef.png diff --git a/web/static/images/emoji/1f1e9-1f1f0.png b/web/static/images/emoji/1f1e9-1f1f0.png Binary files differnew file mode 100644 index 000000000..2e6b7a624 --- /dev/null +++ b/web/static/images/emoji/1f1e9-1f1f0.png diff --git a/web/static/images/emoji/1f1e9-1f1f2.png b/web/static/images/emoji/1f1e9-1f1f2.png Binary files differnew file mode 100644 index 000000000..1b90463e5 --- /dev/null +++ b/web/static/images/emoji/1f1e9-1f1f2.png diff --git a/web/static/images/emoji/1f1e9-1f1f4.png b/web/static/images/emoji/1f1e9-1f1f4.png Binary files differnew file mode 100644 index 000000000..d5c1ac5ba --- /dev/null +++ b/web/static/images/emoji/1f1e9-1f1f4.png diff --git a/web/static/images/emoji/1f1e9-1f1ff.png b/web/static/images/emoji/1f1e9-1f1ff.png Binary files differnew file mode 100644 index 000000000..a778a7995 --- /dev/null +++ b/web/static/images/emoji/1f1e9-1f1ff.png diff --git a/web/static/images/emoji/1f1ea-1f1e8.png b/web/static/images/emoji/1f1ea-1f1e8.png Binary files differnew file mode 100644 index 000000000..7f40f138d --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1e8.png diff --git a/web/static/images/emoji/1f1ea-1f1ea.png b/web/static/images/emoji/1f1ea-1f1ea.png Binary files differnew file mode 100644 index 000000000..1aa45dc2a --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1ea.png diff --git a/web/static/images/emoji/1f1ea-1f1ec.png b/web/static/images/emoji/1f1ea-1f1ec.png Binary files differnew file mode 100644 index 000000000..5904bfac9 --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1ec.png diff --git a/web/static/images/emoji/1f1ea-1f1ed.png b/web/static/images/emoji/1f1ea-1f1ed.png Binary files differnew file mode 100644 index 000000000..5c1bf6134 --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1ed.png diff --git a/web/static/images/emoji/1f1ea-1f1f7.png b/web/static/images/emoji/1f1ea-1f1f7.png Binary files differnew file mode 100644 index 000000000..fa4f25eed --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1f7.png diff --git a/web/static/images/emoji/1f1ea-1f1f8.png b/web/static/images/emoji/1f1ea-1f1f8.png Binary files differnew file mode 100644 index 000000000..16a772cd1 --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1f8.png diff --git a/web/static/images/emoji/1f1ea-1f1f9.png b/web/static/images/emoji/1f1ea-1f1f9.png Binary files differnew file mode 100644 index 000000000..4833e8431 --- /dev/null +++ b/web/static/images/emoji/1f1ea-1f1f9.png diff --git a/web/static/images/emoji/1f1eb-1f1ee.png b/web/static/images/emoji/1f1eb-1f1ee.png Binary files differnew file mode 100644 index 000000000..b2a5c3d24 --- /dev/null +++ b/web/static/images/emoji/1f1eb-1f1ee.png diff --git a/web/static/images/emoji/1f1eb-1f1ef.png b/web/static/images/emoji/1f1eb-1f1ef.png Binary files differnew file mode 100644 index 000000000..a7a731e6f --- /dev/null +++ b/web/static/images/emoji/1f1eb-1f1ef.png diff --git a/web/static/images/emoji/1f1eb-1f1f0.png b/web/static/images/emoji/1f1eb-1f1f0.png Binary files differnew file mode 100644 index 000000000..c4562eaa6 --- /dev/null +++ b/web/static/images/emoji/1f1eb-1f1f0.png diff --git a/web/static/images/emoji/1f1eb-1f1f2.png b/web/static/images/emoji/1f1eb-1f1f2.png Binary files differnew file mode 100644 index 000000000..42fe76312 --- /dev/null +++ b/web/static/images/emoji/1f1eb-1f1f2.png diff --git a/web/static/images/emoji/1f1eb-1f1f4.png b/web/static/images/emoji/1f1eb-1f1f4.png Binary files differnew file mode 100644 index 000000000..e9d8e4cf4 --- /dev/null +++ b/web/static/images/emoji/1f1eb-1f1f4.png diff --git a/web/static/images/emoji/1f1eb-1f1f7.png b/web/static/images/emoji/1f1eb-1f1f7.png Binary files differnew file mode 100644 index 000000000..14271f059 --- /dev/null +++ b/web/static/images/emoji/1f1eb-1f1f7.png diff --git a/web/static/images/emoji/1f1ec-1f1e6.png b/web/static/images/emoji/1f1ec-1f1e6.png Binary files differnew file mode 100644 index 000000000..4a3b5ccf9 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1e6.png diff --git a/web/static/images/emoji/1f1ec-1f1e7.png b/web/static/images/emoji/1f1ec-1f1e7.png Binary files differnew file mode 100644 index 000000000..61c03f759 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1e7.png diff --git a/web/static/images/emoji/1f1ec-1f1e9.png b/web/static/images/emoji/1f1ec-1f1e9.png Binary files differnew file mode 100644 index 000000000..4f9dc82d7 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1e9.png diff --git a/web/static/images/emoji/1f1ec-1f1ea.png b/web/static/images/emoji/1f1ec-1f1ea.png Binary files differnew file mode 100644 index 000000000..1fe16f968 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1ea.png diff --git a/web/static/images/emoji/1f1ec-1f1ed.png b/web/static/images/emoji/1f1ec-1f1ed.png Binary files differnew file mode 100644 index 000000000..0aadf4db2 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1ed.png diff --git a/web/static/images/emoji/1f1ec-1f1ee.png b/web/static/images/emoji/1f1ec-1f1ee.png Binary files differnew file mode 100644 index 000000000..e95abe51f --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1ee.png diff --git a/web/static/images/emoji/1f1ec-1f1f1.png b/web/static/images/emoji/1f1ec-1f1f1.png Binary files differnew file mode 100644 index 000000000..76708a55f --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1f1.png diff --git a/web/static/images/emoji/1f1ec-1f1f2.png b/web/static/images/emoji/1f1ec-1f1f2.png Binary files differnew file mode 100644 index 000000000..c5a72895f --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1f2.png diff --git a/web/static/images/emoji/1f1ec-1f1f3.png b/web/static/images/emoji/1f1ec-1f1f3.png Binary files differnew file mode 100644 index 000000000..fdd5c2d14 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1f3.png diff --git a/web/static/images/emoji/1f1ec-1f1f6.png b/web/static/images/emoji/1f1ec-1f1f6.png Binary files differnew file mode 100644 index 000000000..7fc7c86c8 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1f6.png diff --git a/web/static/images/emoji/1f1ec-1f1f7.png b/web/static/images/emoji/1f1ec-1f1f7.png Binary files differnew file mode 100644 index 000000000..091f1ab07 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1f7.png diff --git a/web/static/images/emoji/1f1ec-1f1f9.png b/web/static/images/emoji/1f1ec-1f1f9.png Binary files differnew file mode 100644 index 000000000..66437d0de --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1f9.png diff --git a/web/static/images/emoji/1f1ec-1f1fa.png b/web/static/images/emoji/1f1ec-1f1fa.png Binary files differnew file mode 100644 index 000000000..a4d2024b1 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1fa.png diff --git a/web/static/images/emoji/1f1ec-1f1fc.png b/web/static/images/emoji/1f1ec-1f1fc.png Binary files differnew file mode 100644 index 000000000..a70abe908 --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1fc.png diff --git a/web/static/images/emoji/1f1ec-1f1fe.png b/web/static/images/emoji/1f1ec-1f1fe.png Binary files differnew file mode 100644 index 000000000..2cc8ecaab --- /dev/null +++ b/web/static/images/emoji/1f1ec-1f1fe.png diff --git a/web/static/images/emoji/1f1ed-1f1f0.png b/web/static/images/emoji/1f1ed-1f1f0.png Binary files differnew file mode 100644 index 000000000..cff8e25fd --- /dev/null +++ b/web/static/images/emoji/1f1ed-1f1f0.png diff --git a/web/static/images/emoji/1f1ed-1f1f3.png b/web/static/images/emoji/1f1ed-1f1f3.png Binary files differnew file mode 100644 index 000000000..e4eeee2d8 --- /dev/null +++ b/web/static/images/emoji/1f1ed-1f1f3.png diff --git a/web/static/images/emoji/1f1ed-1f1f7.png b/web/static/images/emoji/1f1ed-1f1f7.png Binary files differnew file mode 100644 index 000000000..be0823c21 --- /dev/null +++ b/web/static/images/emoji/1f1ed-1f1f7.png diff --git a/web/static/images/emoji/1f1ed-1f1f9.png b/web/static/images/emoji/1f1ed-1f1f9.png Binary files differnew file mode 100644 index 000000000..76d3d94ad --- /dev/null +++ b/web/static/images/emoji/1f1ed-1f1f9.png diff --git a/web/static/images/emoji/1f1ed-1f1fa.png b/web/static/images/emoji/1f1ed-1f1fa.png Binary files differnew file mode 100644 index 000000000..028f853dd --- /dev/null +++ b/web/static/images/emoji/1f1ed-1f1fa.png diff --git a/web/static/images/emoji/1f1ee-1f1e9.png b/web/static/images/emoji/1f1ee-1f1e9.png Binary files differnew file mode 100644 index 000000000..90042acf5 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1e9.png diff --git a/web/static/images/emoji/1f1ee-1f1ea.png b/web/static/images/emoji/1f1ee-1f1ea.png Binary files differnew file mode 100644 index 000000000..63ae4af61 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1ea.png diff --git a/web/static/images/emoji/1f1ee-1f1f1.png b/web/static/images/emoji/1f1ee-1f1f1.png Binary files differnew file mode 100644 index 000000000..8361d8ee3 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1f1.png diff --git a/web/static/images/emoji/1f1ee-1f1f3.png b/web/static/images/emoji/1f1ee-1f1f3.png Binary files differnew file mode 100644 index 000000000..6d6f944c4 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1f3.png diff --git a/web/static/images/emoji/1f1ee-1f1f6.png b/web/static/images/emoji/1f1ee-1f1f6.png Binary files differnew file mode 100644 index 000000000..5fb5d4e3b --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1f6.png diff --git a/web/static/images/emoji/1f1ee-1f1f7.png b/web/static/images/emoji/1f1ee-1f1f7.png Binary files differnew file mode 100644 index 000000000..23f916063 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1f7.png diff --git a/web/static/images/emoji/1f1ee-1f1f8.png b/web/static/images/emoji/1f1ee-1f1f8.png Binary files differnew file mode 100644 index 000000000..7f2b34832 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1f8.png diff --git a/web/static/images/emoji/1f1ee-1f1f9.png b/web/static/images/emoji/1f1ee-1f1f9.png Binary files differnew file mode 100644 index 000000000..bce062350 --- /dev/null +++ b/web/static/images/emoji/1f1ee-1f1f9.png diff --git a/web/static/images/emoji/1f1ef-1f1ea.png b/web/static/images/emoji/1f1ef-1f1ea.png Binary files differnew file mode 100644 index 000000000..822b4340d --- /dev/null +++ b/web/static/images/emoji/1f1ef-1f1ea.png diff --git a/web/static/images/emoji/1f1ef-1f1f2.png b/web/static/images/emoji/1f1ef-1f1f2.png Binary files differnew file mode 100644 index 000000000..f179b1404 --- /dev/null +++ b/web/static/images/emoji/1f1ef-1f1f2.png diff --git a/web/static/images/emoji/1f1ef-1f1f4.png b/web/static/images/emoji/1f1ef-1f1f4.png Binary files differnew file mode 100644 index 000000000..15be546e8 --- /dev/null +++ b/web/static/images/emoji/1f1ef-1f1f4.png diff --git a/web/static/images/emoji/1f1ef-1f1f5.png b/web/static/images/emoji/1f1ef-1f1f5.png Binary files differnew file mode 100644 index 000000000..56390ce22 --- /dev/null +++ b/web/static/images/emoji/1f1ef-1f1f5.png diff --git a/web/static/images/emoji/1f1f0-1f1ea.png b/web/static/images/emoji/1f1f0-1f1ea.png Binary files differnew file mode 100644 index 000000000..301bf6eec --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1ea.png diff --git a/web/static/images/emoji/1f1f0-1f1ec.png b/web/static/images/emoji/1f1f0-1f1ec.png Binary files differnew file mode 100644 index 000000000..6845412e8 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1ec.png diff --git a/web/static/images/emoji/1f1f0-1f1ed.png b/web/static/images/emoji/1f1f0-1f1ed.png Binary files differnew file mode 100644 index 000000000..15ccea7a4 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1ed.png diff --git a/web/static/images/emoji/1f1f0-1f1ee.png b/web/static/images/emoji/1f1f0-1f1ee.png Binary files differnew file mode 100644 index 000000000..79331c5de --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1ee.png diff --git a/web/static/images/emoji/1f1f0-1f1f2.png b/web/static/images/emoji/1f1f0-1f1f2.png Binary files differnew file mode 100644 index 000000000..9a16139aa --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1f2.png diff --git a/web/static/images/emoji/1f1f0-1f1f3.png b/web/static/images/emoji/1f1f0-1f1f3.png Binary files differnew file mode 100644 index 000000000..913f6dfb7 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1f3.png diff --git a/web/static/images/emoji/1f1f0-1f1f5.png b/web/static/images/emoji/1f1f0-1f1f5.png Binary files differnew file mode 100644 index 000000000..cb50e9380 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1f5.png diff --git a/web/static/images/emoji/1f1f0-1f1f7.png b/web/static/images/emoji/1f1f0-1f1f7.png Binary files differnew file mode 100644 index 000000000..6687991f3 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1f7.png diff --git a/web/static/images/emoji/1f1f0-1f1fc.png b/web/static/images/emoji/1f1f0-1f1fc.png Binary files differnew file mode 100644 index 000000000..72ef3415f --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1fc.png diff --git a/web/static/images/emoji/1f1f0-1f1fe.png b/web/static/images/emoji/1f1f0-1f1fe.png Binary files differnew file mode 100644 index 000000000..d716ddcd5 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1fe.png diff --git a/web/static/images/emoji/1f1f0-1f1ff.png b/web/static/images/emoji/1f1f0-1f1ff.png Binary files differnew file mode 100644 index 000000000..49813e5d5 --- /dev/null +++ b/web/static/images/emoji/1f1f0-1f1ff.png diff --git a/web/static/images/emoji/1f1f1-1f1e6.png b/web/static/images/emoji/1f1f1-1f1e6.png Binary files differnew file mode 100644 index 000000000..6f0dd90f3 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1e6.png diff --git a/web/static/images/emoji/1f1f1-1f1e7.png b/web/static/images/emoji/1f1f1-1f1e7.png Binary files differnew file mode 100644 index 000000000..8fe041f46 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1e7.png diff --git a/web/static/images/emoji/1f1f1-1f1e8.png b/web/static/images/emoji/1f1f1-1f1e8.png Binary files differnew file mode 100644 index 000000000..70a34cb11 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1e8.png diff --git a/web/static/images/emoji/1f1f1-1f1ee.png b/web/static/images/emoji/1f1f1-1f1ee.png Binary files differnew file mode 100644 index 000000000..ad667c3c4 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1ee.png diff --git a/web/static/images/emoji/1f1f1-1f1f0.png b/web/static/images/emoji/1f1f1-1f1f0.png Binary files differnew file mode 100644 index 000000000..9a205d9cf --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1f0.png diff --git a/web/static/images/emoji/1f1f1-1f1f7.png b/web/static/images/emoji/1f1f1-1f1f7.png Binary files differnew file mode 100644 index 000000000..2916a1ff4 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1f7.png diff --git a/web/static/images/emoji/1f1f1-1f1f8.png b/web/static/images/emoji/1f1f1-1f1f8.png Binary files differnew file mode 100644 index 000000000..a47e7e067 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1f8.png diff --git a/web/static/images/emoji/1f1f1-1f1f9.png b/web/static/images/emoji/1f1f1-1f1f9.png Binary files differnew file mode 100644 index 000000000..ea08d9b23 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1f9.png diff --git a/web/static/images/emoji/1f1f1-1f1fa.png b/web/static/images/emoji/1f1f1-1f1fa.png Binary files differnew file mode 100644 index 000000000..dbd428878 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1fa.png diff --git a/web/static/images/emoji/1f1f1-1f1fb.png b/web/static/images/emoji/1f1f1-1f1fb.png Binary files differnew file mode 100644 index 000000000..a8eef9ff6 --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1fb.png diff --git a/web/static/images/emoji/1f1f1-1f1fe.png b/web/static/images/emoji/1f1f1-1f1fe.png Binary files differnew file mode 100644 index 000000000..04632748f --- /dev/null +++ b/web/static/images/emoji/1f1f1-1f1fe.png diff --git a/web/static/images/emoji/1f1f2-1f1e6.png b/web/static/images/emoji/1f1f2-1f1e6.png Binary files differnew file mode 100644 index 000000000..1bf4401f6 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1e6.png diff --git a/web/static/images/emoji/1f1f2-1f1e8.png b/web/static/images/emoji/1f1f2-1f1e8.png Binary files differnew file mode 100644 index 000000000..039174d3a --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1e8.png diff --git a/web/static/images/emoji/1f1f2-1f1e9.png b/web/static/images/emoji/1f1f2-1f1e9.png Binary files differnew file mode 100644 index 000000000..78b5ba7e2 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1e9.png diff --git a/web/static/images/emoji/1f1f2-1f1ea.png b/web/static/images/emoji/1f1f2-1f1ea.png Binary files differnew file mode 100644 index 000000000..01245d958 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1ea.png diff --git a/web/static/images/emoji/1f1f2-1f1ec.png b/web/static/images/emoji/1f1f2-1f1ec.png Binary files differnew file mode 100644 index 000000000..cb55e9fc3 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1ec.png diff --git a/web/static/images/emoji/1f1f2-1f1ed.png b/web/static/images/emoji/1f1f2-1f1ed.png Binary files differnew file mode 100644 index 000000000..ff5038b6d --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1ed.png diff --git a/web/static/images/emoji/1f1f2-1f1f0.png b/web/static/images/emoji/1f1f2-1f1f0.png Binary files differnew file mode 100644 index 000000000..8dadf0110 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f0.png diff --git a/web/static/images/emoji/1f1f2-1f1f1.png b/web/static/images/emoji/1f1f2-1f1f1.png Binary files differnew file mode 100644 index 000000000..53be7c81e --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f1.png diff --git a/web/static/images/emoji/1f1f2-1f1f2.png b/web/static/images/emoji/1f1f2-1f1f2.png Binary files differnew file mode 100644 index 000000000..c1cfee7a5 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f2.png diff --git a/web/static/images/emoji/1f1f2-1f1f3.png b/web/static/images/emoji/1f1f2-1f1f3.png Binary files differnew file mode 100644 index 000000000..1beac5568 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f3.png diff --git a/web/static/images/emoji/1f1f2-1f1f4.png b/web/static/images/emoji/1f1f2-1f1f4.png Binary files differnew file mode 100644 index 000000000..6a8fcb9a0 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f4.png diff --git a/web/static/images/emoji/1f1f2-1f1f7.png b/web/static/images/emoji/1f1f2-1f1f7.png Binary files differnew file mode 100644 index 000000000..854690cfb --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f7.png diff --git a/web/static/images/emoji/1f1f2-1f1f8.png b/web/static/images/emoji/1f1f2-1f1f8.png Binary files differnew file mode 100644 index 000000000..61b2de721 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f8.png diff --git a/web/static/images/emoji/1f1f2-1f1f9.png b/web/static/images/emoji/1f1f2-1f1f9.png Binary files differnew file mode 100644 index 000000000..2f07f4709 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1f9.png diff --git a/web/static/images/emoji/1f1f2-1f1fa.png b/web/static/images/emoji/1f1f2-1f1fa.png Binary files differnew file mode 100644 index 000000000..9d28c0812 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1fa.png diff --git a/web/static/images/emoji/1f1f2-1f1fb.png b/web/static/images/emoji/1f1f2-1f1fb.png Binary files differnew file mode 100644 index 000000000..4ea56e841 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1fb.png diff --git a/web/static/images/emoji/1f1f2-1f1fc.png b/web/static/images/emoji/1f1f2-1f1fc.png Binary files differnew file mode 100644 index 000000000..361aa65ec --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1fc.png diff --git a/web/static/images/emoji/1f1f2-1f1fd.png b/web/static/images/emoji/1f1f2-1f1fd.png Binary files differnew file mode 100644 index 000000000..c44c24df1 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1fd.png diff --git a/web/static/images/emoji/1f1f2-1f1fe.png b/web/static/images/emoji/1f1f2-1f1fe.png Binary files differnew file mode 100644 index 000000000..166fd5ba7 --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1fe.png diff --git a/web/static/images/emoji/1f1f2-1f1ff.png b/web/static/images/emoji/1f1f2-1f1ff.png Binary files differnew file mode 100644 index 000000000..209db39ee --- /dev/null +++ b/web/static/images/emoji/1f1f2-1f1ff.png diff --git a/web/static/images/emoji/1f1f3-1f1e6.png b/web/static/images/emoji/1f1f3-1f1e6.png Binary files differnew file mode 100644 index 000000000..84fab946d --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1e6.png diff --git a/web/static/images/emoji/1f1f3-1f1e8.png b/web/static/images/emoji/1f1f3-1f1e8.png Binary files differnew file mode 100644 index 000000000..6372d93c7 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1e8.png diff --git a/web/static/images/emoji/1f1f3-1f1ea.png b/web/static/images/emoji/1f1f3-1f1ea.png Binary files differnew file mode 100644 index 000000000..3fd0d99ab --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1ea.png diff --git a/web/static/images/emoji/1f1f3-1f1ec.png b/web/static/images/emoji/1f1f3-1f1ec.png Binary files differnew file mode 100644 index 000000000..2c98fcdff --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1ec.png diff --git a/web/static/images/emoji/1f1f3-1f1ee.png b/web/static/images/emoji/1f1f3-1f1ee.png Binary files differnew file mode 100644 index 000000000..88055d5a0 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1ee.png diff --git a/web/static/images/emoji/1f1f3-1f1f1.png b/web/static/images/emoji/1f1f3-1f1f1.png Binary files differnew file mode 100644 index 000000000..d5de058a4 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1f1.png diff --git a/web/static/images/emoji/1f1f3-1f1f4.png b/web/static/images/emoji/1f1f3-1f1f4.png Binary files differnew file mode 100644 index 000000000..1199fae93 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1f4.png diff --git a/web/static/images/emoji/1f1f3-1f1f5.png b/web/static/images/emoji/1f1f3-1f1f5.png Binary files differnew file mode 100644 index 000000000..3e17c5204 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1f5.png diff --git a/web/static/images/emoji/1f1f3-1f1f7.png b/web/static/images/emoji/1f1f3-1f1f7.png Binary files differnew file mode 100644 index 000000000..80c3d8357 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1f7.png diff --git a/web/static/images/emoji/1f1f3-1f1fa.png b/web/static/images/emoji/1f1f3-1f1fa.png Binary files differnew file mode 100644 index 000000000..628aee1e3 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1fa.png diff --git a/web/static/images/emoji/1f1f3-1f1ff.png b/web/static/images/emoji/1f1f3-1f1ff.png Binary files differnew file mode 100644 index 000000000..d64f6ec22 --- /dev/null +++ b/web/static/images/emoji/1f1f3-1f1ff.png diff --git a/web/static/images/emoji/1f1f4-1f1f2.png b/web/static/images/emoji/1f1f4-1f1f2.png Binary files differnew file mode 100644 index 000000000..68dd406fb --- /dev/null +++ b/web/static/images/emoji/1f1f4-1f1f2.png diff --git a/web/static/images/emoji/1f1f5-1f1e6.png b/web/static/images/emoji/1f1f5-1f1e6.png Binary files differnew file mode 100644 index 000000000..0fa73faf3 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1e6.png diff --git a/web/static/images/emoji/1f1f5-1f1ea.png b/web/static/images/emoji/1f1f5-1f1ea.png Binary files differnew file mode 100644 index 000000000..cf7098d8d --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1ea.png diff --git a/web/static/images/emoji/1f1f5-1f1eb.png b/web/static/images/emoji/1f1f5-1f1eb.png Binary files differnew file mode 100644 index 000000000..5780519fd --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1eb.png diff --git a/web/static/images/emoji/1f1f5-1f1ec.png b/web/static/images/emoji/1f1f5-1f1ec.png Binary files differnew file mode 100644 index 000000000..0a4ce4c3c --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1ec.png diff --git a/web/static/images/emoji/1f1f5-1f1ed.png b/web/static/images/emoji/1f1f5-1f1ed.png Binary files differnew file mode 100644 index 000000000..00a9eaa6d --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1ed.png diff --git a/web/static/images/emoji/1f1f5-1f1f0.png b/web/static/images/emoji/1f1f5-1f1f0.png Binary files differnew file mode 100644 index 000000000..b1ab1a7a8 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1f0.png diff --git a/web/static/images/emoji/1f1f5-1f1f1.png b/web/static/images/emoji/1f1f5-1f1f1.png Binary files differnew file mode 100644 index 000000000..e07223bf7 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1f1.png diff --git a/web/static/images/emoji/1f1f5-1f1f7.png b/web/static/images/emoji/1f1f5-1f1f7.png Binary files differnew file mode 100644 index 000000000..754bb5429 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1f7.png diff --git a/web/static/images/emoji/1f1f5-1f1f8.png b/web/static/images/emoji/1f1f5-1f1f8.png Binary files differnew file mode 100644 index 000000000..e2076eda0 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1f8.png diff --git a/web/static/images/emoji/1f1f5-1f1f9.png b/web/static/images/emoji/1f1f5-1f1f9.png Binary files differnew file mode 100644 index 000000000..4f585e18b --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1f9.png diff --git a/web/static/images/emoji/1f1f5-1f1fc.png b/web/static/images/emoji/1f1f5-1f1fc.png Binary files differnew file mode 100644 index 000000000..e15437591 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1fc.png diff --git a/web/static/images/emoji/1f1f5-1f1fe.png b/web/static/images/emoji/1f1f5-1f1fe.png Binary files differnew file mode 100644 index 000000000..335d55f93 --- /dev/null +++ b/web/static/images/emoji/1f1f5-1f1fe.png diff --git a/web/static/images/emoji/1f1f6-1f1e6.png b/web/static/images/emoji/1f1f6-1f1e6.png Binary files differnew file mode 100644 index 000000000..6f99df4ff --- /dev/null +++ b/web/static/images/emoji/1f1f6-1f1e6.png diff --git a/web/static/images/emoji/1f1f7-1f1f4.png b/web/static/images/emoji/1f1f7-1f1f4.png Binary files differnew file mode 100644 index 000000000..1f7db7ab1 --- /dev/null +++ b/web/static/images/emoji/1f1f7-1f1f4.png diff --git a/web/static/images/emoji/1f1f7-1f1f8.png b/web/static/images/emoji/1f1f7-1f1f8.png Binary files differnew file mode 100644 index 000000000..7552aba40 --- /dev/null +++ b/web/static/images/emoji/1f1f7-1f1f8.png diff --git a/web/static/images/emoji/1f1f7-1f1fa.png b/web/static/images/emoji/1f1f7-1f1fa.png Binary files differnew file mode 100644 index 000000000..4a65f219f --- /dev/null +++ b/web/static/images/emoji/1f1f7-1f1fa.png diff --git a/web/static/images/emoji/1f1f7-1f1fc.png b/web/static/images/emoji/1f1f7-1f1fc.png Binary files differnew file mode 100644 index 000000000..ddea66d07 --- /dev/null +++ b/web/static/images/emoji/1f1f7-1f1fc.png diff --git a/web/static/images/emoji/1f1f8-1f1e6.png b/web/static/images/emoji/1f1f8-1f1e6.png Binary files differnew file mode 100644 index 000000000..4f82c1a3e --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1e6.png diff --git a/web/static/images/emoji/1f1f8-1f1e7.png b/web/static/images/emoji/1f1f8-1f1e7.png Binary files differnew file mode 100644 index 000000000..5bf32a743 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1e7.png diff --git a/web/static/images/emoji/1f1f8-1f1e8.png b/web/static/images/emoji/1f1f8-1f1e8.png Binary files differnew file mode 100644 index 000000000..7ec76a1ec --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1e8.png diff --git a/web/static/images/emoji/1f1f8-1f1e9.png b/web/static/images/emoji/1f1f8-1f1e9.png Binary files differnew file mode 100644 index 000000000..fad14bde5 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1e9.png diff --git a/web/static/images/emoji/1f1f8-1f1ea.png b/web/static/images/emoji/1f1f8-1f1ea.png Binary files differnew file mode 100644 index 000000000..067857a9e --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1ea.png diff --git a/web/static/images/emoji/1f1f8-1f1ec.png b/web/static/images/emoji/1f1f8-1f1ec.png Binary files differnew file mode 100644 index 000000000..8d1127005 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1ec.png diff --git a/web/static/images/emoji/1f1f8-1f1ed.png b/web/static/images/emoji/1f1f8-1f1ed.png Binary files differnew file mode 100644 index 000000000..75977bea6 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1ed.png diff --git a/web/static/images/emoji/1f1f8-1f1ee.png b/web/static/images/emoji/1f1f8-1f1ee.png Binary files differnew file mode 100644 index 000000000..d7c3a7477 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1ee.png diff --git a/web/static/images/emoji/1f1f8-1f1f0.png b/web/static/images/emoji/1f1f8-1f1f0.png Binary files differnew file mode 100644 index 000000000..6f60bfab3 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f0.png diff --git a/web/static/images/emoji/1f1f8-1f1f1.png b/web/static/images/emoji/1f1f8-1f1f1.png Binary files differnew file mode 100644 index 000000000..5f88e8673 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f1.png diff --git a/web/static/images/emoji/1f1f8-1f1f2.png b/web/static/images/emoji/1f1f8-1f1f2.png Binary files differnew file mode 100644 index 000000000..431e28ea6 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f2.png diff --git a/web/static/images/emoji/1f1f8-1f1f3.png b/web/static/images/emoji/1f1f8-1f1f3.png Binary files differnew file mode 100644 index 000000000..dcc3f9770 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f3.png diff --git a/web/static/images/emoji/1f1f8-1f1f4.png b/web/static/images/emoji/1f1f8-1f1f4.png Binary files differnew file mode 100644 index 000000000..2e20974e9 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f4.png diff --git a/web/static/images/emoji/1f1f8-1f1f7.png b/web/static/images/emoji/1f1f8-1f1f7.png Binary files differnew file mode 100644 index 000000000..bde51f536 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f7.png diff --git a/web/static/images/emoji/1f1f8-1f1f9.png b/web/static/images/emoji/1f1f8-1f1f9.png Binary files differnew file mode 100644 index 000000000..e387f43b9 --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1f9.png diff --git a/web/static/images/emoji/1f1f8-1f1fb.png b/web/static/images/emoji/1f1f8-1f1fb.png Binary files differnew file mode 100644 index 000000000..f4a1153db --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1fb.png diff --git a/web/static/images/emoji/1f1f8-1f1fe.png b/web/static/images/emoji/1f1f8-1f1fe.png Binary files differnew file mode 100644 index 000000000..f8900079a --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1fe.png diff --git a/web/static/images/emoji/1f1f8-1f1ff.png b/web/static/images/emoji/1f1f8-1f1ff.png Binary files differnew file mode 100644 index 000000000..f80d7579d --- /dev/null +++ b/web/static/images/emoji/1f1f8-1f1ff.png diff --git a/web/static/images/emoji/1f1f9-1f1e9.png b/web/static/images/emoji/1f1f9-1f1e9.png Binary files differnew file mode 100644 index 000000000..de564e86e --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1e9.png diff --git a/web/static/images/emoji/1f1f9-1f1ec.png b/web/static/images/emoji/1f1f9-1f1ec.png Binary files differnew file mode 100644 index 000000000..e41a68ea8 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1ec.png diff --git a/web/static/images/emoji/1f1f9-1f1ed.png b/web/static/images/emoji/1f1f9-1f1ed.png Binary files differnew file mode 100644 index 000000000..362fb1a29 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1ed.png diff --git a/web/static/images/emoji/1f1f9-1f1ef.png b/web/static/images/emoji/1f1f9-1f1ef.png Binary files differnew file mode 100644 index 000000000..5f2072253 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1ef.png diff --git a/web/static/images/emoji/1f1f9-1f1f1.png b/web/static/images/emoji/1f1f9-1f1f1.png Binary files differnew file mode 100644 index 000000000..da94c4289 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1f1.png diff --git a/web/static/images/emoji/1f1f9-1f1f2.png b/web/static/images/emoji/1f1f9-1f1f2.png Binary files differnew file mode 100644 index 000000000..f0ab3b7d5 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1f2.png diff --git a/web/static/images/emoji/1f1f9-1f1f3.png b/web/static/images/emoji/1f1f9-1f1f3.png Binary files differnew file mode 100644 index 000000000..e1f27ed7d --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1f3.png diff --git a/web/static/images/emoji/1f1f9-1f1f4.png b/web/static/images/emoji/1f1f9-1f1f4.png Binary files differnew file mode 100644 index 000000000..06c2a6f41 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1f4.png diff --git a/web/static/images/emoji/1f1f9-1f1f7.png b/web/static/images/emoji/1f1f9-1f1f7.png Binary files differnew file mode 100644 index 000000000..720d4de2f --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1f7.png diff --git a/web/static/images/emoji/1f1f9-1f1f9.png b/web/static/images/emoji/1f1f9-1f1f9.png Binary files differnew file mode 100644 index 000000000..2d89e31b0 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1f9.png diff --git a/web/static/images/emoji/1f1f9-1f1fb.png b/web/static/images/emoji/1f1f9-1f1fb.png Binary files differnew file mode 100644 index 000000000..765087702 --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1fb.png diff --git a/web/static/images/emoji/1f1f9-1f1fc.png b/web/static/images/emoji/1f1f9-1f1fc.png Binary files differnew file mode 100644 index 000000000..6499e47ee --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1fc.png diff --git a/web/static/images/emoji/1f1f9-1f1ff.png b/web/static/images/emoji/1f1f9-1f1ff.png Binary files differnew file mode 100644 index 000000000..9e04fcf9d --- /dev/null +++ b/web/static/images/emoji/1f1f9-1f1ff.png diff --git a/web/static/images/emoji/1f1fa-1f1e6.png b/web/static/images/emoji/1f1fa-1f1e6.png Binary files differnew file mode 100644 index 000000000..aa9745259 --- /dev/null +++ b/web/static/images/emoji/1f1fa-1f1e6.png diff --git a/web/static/images/emoji/1f1fa-1f1ec.png b/web/static/images/emoji/1f1fa-1f1ec.png Binary files differnew file mode 100644 index 000000000..f78274fcb --- /dev/null +++ b/web/static/images/emoji/1f1fa-1f1ec.png diff --git a/web/static/images/emoji/1f1fa-1f1f8.png b/web/static/images/emoji/1f1fa-1f1f8.png Binary files differnew file mode 100644 index 000000000..6c98de9be --- /dev/null +++ b/web/static/images/emoji/1f1fa-1f1f8.png diff --git a/web/static/images/emoji/1f1fa-1f1fe.png b/web/static/images/emoji/1f1fa-1f1fe.png Binary files differnew file mode 100644 index 000000000..f8caee786 --- /dev/null +++ b/web/static/images/emoji/1f1fa-1f1fe.png diff --git a/web/static/images/emoji/1f1fa-1f1ff.png b/web/static/images/emoji/1f1fa-1f1ff.png Binary files differnew file mode 100644 index 000000000..34f0c8627 --- /dev/null +++ b/web/static/images/emoji/1f1fa-1f1ff.png diff --git a/web/static/images/emoji/1f1fb-1f1e6.png b/web/static/images/emoji/1f1fb-1f1e6.png Binary files differnew file mode 100644 index 000000000..175fcaa0e --- /dev/null +++ b/web/static/images/emoji/1f1fb-1f1e6.png diff --git a/web/static/images/emoji/1f1fb-1f1e8.png b/web/static/images/emoji/1f1fb-1f1e8.png Binary files differnew file mode 100644 index 000000000..4e4efb366 --- /dev/null +++ b/web/static/images/emoji/1f1fb-1f1e8.png diff --git a/web/static/images/emoji/1f1fb-1f1ea.png b/web/static/images/emoji/1f1fb-1f1ea.png Binary files differnew file mode 100644 index 000000000..6ab199a56 --- /dev/null +++ b/web/static/images/emoji/1f1fb-1f1ea.png diff --git a/web/static/images/emoji/1f1fb-1f1ee.png b/web/static/images/emoji/1f1fb-1f1ee.png Binary files differnew file mode 100644 index 000000000..da1d092bb --- /dev/null +++ b/web/static/images/emoji/1f1fb-1f1ee.png diff --git a/web/static/images/emoji/1f1fb-1f1f3.png b/web/static/images/emoji/1f1fb-1f1f3.png Binary files differnew file mode 100644 index 000000000..ec1ca0b8f --- /dev/null +++ b/web/static/images/emoji/1f1fb-1f1f3.png diff --git a/web/static/images/emoji/1f1fb-1f1fa.png b/web/static/images/emoji/1f1fb-1f1fa.png Binary files differnew file mode 100644 index 000000000..e9345643b --- /dev/null +++ b/web/static/images/emoji/1f1fb-1f1fa.png diff --git a/web/static/images/emoji/1f1fc-1f1eb.png b/web/static/images/emoji/1f1fc-1f1eb.png Binary files differnew file mode 100644 index 000000000..367175512 --- /dev/null +++ b/web/static/images/emoji/1f1fc-1f1eb.png diff --git a/web/static/images/emoji/1f1fc-1f1f8.png b/web/static/images/emoji/1f1fc-1f1f8.png Binary files differnew file mode 100644 index 000000000..c4d6349f7 --- /dev/null +++ b/web/static/images/emoji/1f1fc-1f1f8.png diff --git a/web/static/images/emoji/1f1fd-1f1f0.png b/web/static/images/emoji/1f1fd-1f1f0.png Binary files differnew file mode 100644 index 000000000..f9953b7e2 --- /dev/null +++ b/web/static/images/emoji/1f1fd-1f1f0.png diff --git a/web/static/images/emoji/1f1fe-1f1ea.png b/web/static/images/emoji/1f1fe-1f1ea.png Binary files differnew file mode 100644 index 000000000..e62c22683 --- /dev/null +++ b/web/static/images/emoji/1f1fe-1f1ea.png diff --git a/web/static/images/emoji/1f1ff-1f1e6.png b/web/static/images/emoji/1f1ff-1f1e6.png Binary files differnew file mode 100644 index 000000000..b5f8197ca --- /dev/null +++ b/web/static/images/emoji/1f1ff-1f1e6.png diff --git a/web/static/images/emoji/1f1ff-1f1f2.png b/web/static/images/emoji/1f1ff-1f1f2.png Binary files differnew file mode 100644 index 000000000..aac8aaa96 --- /dev/null +++ b/web/static/images/emoji/1f1ff-1f1f2.png diff --git a/web/static/images/emoji/1f1ff-1f1fc.png b/web/static/images/emoji/1f1ff-1f1fc.png Binary files differnew file mode 100644 index 000000000..bf3d7162d --- /dev/null +++ b/web/static/images/emoji/1f1ff-1f1fc.png diff --git a/web/static/images/emoji/1f201.png b/web/static/images/emoji/1f201.png Binary files differnew file mode 100644 index 000000000..9f056070e --- /dev/null +++ b/web/static/images/emoji/1f201.png diff --git a/web/static/images/emoji/1f202.png b/web/static/images/emoji/1f202.png Binary files differnew file mode 100644 index 000000000..c6dafece9 --- /dev/null +++ b/web/static/images/emoji/1f202.png diff --git a/web/static/images/emoji/1f21a.png b/web/static/images/emoji/1f21a.png Binary files differnew file mode 100644 index 000000000..5f2982163 --- /dev/null +++ b/web/static/images/emoji/1f21a.png diff --git a/web/static/images/emoji/1f22f.png b/web/static/images/emoji/1f22f.png Binary files differnew file mode 100644 index 000000000..307d17ad7 --- /dev/null +++ b/web/static/images/emoji/1f22f.png diff --git a/web/static/images/emoji/1f232.png b/web/static/images/emoji/1f232.png Binary files differnew file mode 100644 index 000000000..cc617fed3 --- /dev/null +++ b/web/static/images/emoji/1f232.png diff --git a/web/static/images/emoji/1f233.png b/web/static/images/emoji/1f233.png Binary files differnew file mode 100644 index 000000000..3d0922dba --- /dev/null +++ b/web/static/images/emoji/1f233.png diff --git a/web/static/images/emoji/1f234.png b/web/static/images/emoji/1f234.png Binary files differnew file mode 100644 index 000000000..02ff557d0 --- /dev/null +++ b/web/static/images/emoji/1f234.png diff --git a/web/static/images/emoji/1f235.png b/web/static/images/emoji/1f235.png Binary files differnew file mode 100644 index 000000000..4d03236ff --- /dev/null +++ b/web/static/images/emoji/1f235.png diff --git a/web/static/images/emoji/1f236.png b/web/static/images/emoji/1f236.png Binary files differnew file mode 100644 index 000000000..b592c12ee --- /dev/null +++ b/web/static/images/emoji/1f236.png diff --git a/web/static/images/emoji/1f237.png b/web/static/images/emoji/1f237.png Binary files differnew file mode 100644 index 000000000..cf85c803b --- /dev/null +++ b/web/static/images/emoji/1f237.png diff --git a/web/static/images/emoji/1f238.png b/web/static/images/emoji/1f238.png Binary files differnew file mode 100644 index 000000000..e2c566183 --- /dev/null +++ b/web/static/images/emoji/1f238.png diff --git a/web/static/images/emoji/1f239.png b/web/static/images/emoji/1f239.png Binary files differnew file mode 100644 index 000000000..90ed437d9 --- /dev/null +++ b/web/static/images/emoji/1f239.png diff --git a/web/static/images/emoji/1f23a.png b/web/static/images/emoji/1f23a.png Binary files differnew file mode 100644 index 000000000..091841a03 --- /dev/null +++ b/web/static/images/emoji/1f23a.png diff --git a/web/static/images/emoji/1f250.png b/web/static/images/emoji/1f250.png Binary files differnew file mode 100644 index 000000000..2be0c3a78 --- /dev/null +++ b/web/static/images/emoji/1f250.png diff --git a/web/static/images/emoji/1f251.png b/web/static/images/emoji/1f251.png Binary files differnew file mode 100644 index 000000000..10cf9e29a --- /dev/null +++ b/web/static/images/emoji/1f251.png diff --git a/web/static/images/emoji/1f300.png b/web/static/images/emoji/1f300.png Binary files differnew file mode 100644 index 000000000..bd243229a --- /dev/null +++ b/web/static/images/emoji/1f300.png diff --git a/web/static/images/emoji/1f301.png b/web/static/images/emoji/1f301.png Binary files differnew file mode 100644 index 000000000..740943ab0 --- /dev/null +++ b/web/static/images/emoji/1f301.png diff --git a/web/static/images/emoji/1f302.png b/web/static/images/emoji/1f302.png Binary files differnew file mode 100644 index 000000000..00afbfb40 --- /dev/null +++ b/web/static/images/emoji/1f302.png diff --git a/web/static/images/emoji/1f303.png b/web/static/images/emoji/1f303.png Binary files differnew file mode 100644 index 000000000..b6b629204 --- /dev/null +++ b/web/static/images/emoji/1f303.png diff --git a/web/static/images/emoji/1f304.png b/web/static/images/emoji/1f304.png Binary files differnew file mode 100644 index 000000000..f8527646e --- /dev/null +++ b/web/static/images/emoji/1f304.png diff --git a/web/static/images/emoji/1f305.png b/web/static/images/emoji/1f305.png Binary files differnew file mode 100644 index 000000000..4bcc4a8ac --- /dev/null +++ b/web/static/images/emoji/1f305.png diff --git a/web/static/images/emoji/1f306.png b/web/static/images/emoji/1f306.png Binary files differnew file mode 100644 index 000000000..f64483fb6 --- /dev/null +++ b/web/static/images/emoji/1f306.png diff --git a/web/static/images/emoji/1f307.png b/web/static/images/emoji/1f307.png Binary files differnew file mode 100644 index 000000000..a65691bb0 --- /dev/null +++ b/web/static/images/emoji/1f307.png diff --git a/web/static/images/emoji/1f308.png b/web/static/images/emoji/1f308.png Binary files differnew file mode 100644 index 000000000..1d92301f9 --- /dev/null +++ b/web/static/images/emoji/1f308.png diff --git a/web/static/images/emoji/1f309.png b/web/static/images/emoji/1f309.png Binary files differnew file mode 100644 index 000000000..44cf8852e --- /dev/null +++ b/web/static/images/emoji/1f309.png diff --git a/web/static/images/emoji/1f30a.png b/web/static/images/emoji/1f30a.png Binary files differnew file mode 100644 index 000000000..172dfffdf --- /dev/null +++ b/web/static/images/emoji/1f30a.png diff --git a/web/static/images/emoji/1f30b.png b/web/static/images/emoji/1f30b.png Binary files differnew file mode 100644 index 000000000..5f2c292f0 --- /dev/null +++ b/web/static/images/emoji/1f30b.png diff --git a/web/static/images/emoji/1f30c.png b/web/static/images/emoji/1f30c.png Binary files differnew file mode 100644 index 000000000..4ee1090f4 --- /dev/null +++ b/web/static/images/emoji/1f30c.png diff --git a/web/static/images/emoji/1f30d.png b/web/static/images/emoji/1f30d.png Binary files differnew file mode 100644 index 000000000..a4bbace54 --- /dev/null +++ b/web/static/images/emoji/1f30d.png diff --git a/web/static/images/emoji/1f30e.png b/web/static/images/emoji/1f30e.png Binary files differnew file mode 100644 index 000000000..13a307f3c --- /dev/null +++ b/web/static/images/emoji/1f30e.png diff --git a/web/static/images/emoji/1f30f.png b/web/static/images/emoji/1f30f.png Binary files differnew file mode 100644 index 000000000..908e483fa --- /dev/null +++ b/web/static/images/emoji/1f30f.png diff --git a/web/static/images/emoji/1f310.png b/web/static/images/emoji/1f310.png Binary files differnew file mode 100644 index 000000000..a7af2cb1c --- /dev/null +++ b/web/static/images/emoji/1f310.png diff --git a/web/static/images/emoji/1f311.png b/web/static/images/emoji/1f311.png Binary files differnew file mode 100644 index 000000000..06e5e67f2 --- /dev/null +++ b/web/static/images/emoji/1f311.png diff --git a/web/static/images/emoji/1f312.png b/web/static/images/emoji/1f312.png Binary files differnew file mode 100644 index 000000000..7d4b5a056 --- /dev/null +++ b/web/static/images/emoji/1f312.png diff --git a/web/static/images/emoji/1f313.png b/web/static/images/emoji/1f313.png Binary files differnew file mode 100644 index 000000000..14734a42c --- /dev/null +++ b/web/static/images/emoji/1f313.png diff --git a/web/static/images/emoji/1f314.png b/web/static/images/emoji/1f314.png Binary files differnew file mode 100644 index 000000000..b53fd4288 --- /dev/null +++ b/web/static/images/emoji/1f314.png diff --git a/web/static/images/emoji/1f315.png b/web/static/images/emoji/1f315.png Binary files differnew file mode 100644 index 000000000..b936c916d --- /dev/null +++ b/web/static/images/emoji/1f315.png diff --git a/web/static/images/emoji/1f316.png b/web/static/images/emoji/1f316.png Binary files differnew file mode 100644 index 000000000..3b9240298 --- /dev/null +++ b/web/static/images/emoji/1f316.png diff --git a/web/static/images/emoji/1f317.png b/web/static/images/emoji/1f317.png Binary files differnew file mode 100644 index 000000000..85e0df65a --- /dev/null +++ b/web/static/images/emoji/1f317.png diff --git a/web/static/images/emoji/1f318.png b/web/static/images/emoji/1f318.png Binary files differnew file mode 100644 index 000000000..f9ab41111 --- /dev/null +++ b/web/static/images/emoji/1f318.png diff --git a/web/static/images/emoji/1f319.png b/web/static/images/emoji/1f319.png Binary files differnew file mode 100644 index 000000000..2a0b9f39b --- /dev/null +++ b/web/static/images/emoji/1f319.png diff --git a/web/static/images/emoji/1f31a.png b/web/static/images/emoji/1f31a.png Binary files differnew file mode 100644 index 000000000..c7b2e8011 --- /dev/null +++ b/web/static/images/emoji/1f31a.png diff --git a/web/static/images/emoji/1f31b.png b/web/static/images/emoji/1f31b.png Binary files differnew file mode 100644 index 000000000..8f10b3cfe --- /dev/null +++ b/web/static/images/emoji/1f31b.png diff --git a/web/static/images/emoji/1f31c.png b/web/static/images/emoji/1f31c.png Binary files differnew file mode 100644 index 000000000..37ecabbc7 --- /dev/null +++ b/web/static/images/emoji/1f31c.png diff --git a/web/static/images/emoji/1f31d.png b/web/static/images/emoji/1f31d.png Binary files differnew file mode 100644 index 000000000..adb3479d9 --- /dev/null +++ b/web/static/images/emoji/1f31d.png diff --git a/web/static/images/emoji/1f31e.png b/web/static/images/emoji/1f31e.png Binary files differnew file mode 100644 index 000000000..7ee45e4dd --- /dev/null +++ b/web/static/images/emoji/1f31e.png diff --git a/web/static/images/emoji/1f31f.png b/web/static/images/emoji/1f31f.png Binary files differnew file mode 100644 index 000000000..6399b9335 --- /dev/null +++ b/web/static/images/emoji/1f31f.png diff --git a/web/static/images/emoji/1f320.png b/web/static/images/emoji/1f320.png Binary files differnew file mode 100644 index 000000000..115748007 --- /dev/null +++ b/web/static/images/emoji/1f320.png diff --git a/web/static/images/emoji/1f321.png b/web/static/images/emoji/1f321.png Binary files differnew file mode 100644 index 000000000..5afccacd5 --- /dev/null +++ b/web/static/images/emoji/1f321.png diff --git a/web/static/images/emoji/1f327.png b/web/static/images/emoji/1f327.png Binary files differnew file mode 100644 index 000000000..507e1df08 --- /dev/null +++ b/web/static/images/emoji/1f327.png diff --git a/web/static/images/emoji/1f328.png b/web/static/images/emoji/1f328.png Binary files differnew file mode 100644 index 000000000..96baf5b54 --- /dev/null +++ b/web/static/images/emoji/1f328.png diff --git a/web/static/images/emoji/1f329.png b/web/static/images/emoji/1f329.png Binary files differnew file mode 100644 index 000000000..05a085e43 --- /dev/null +++ b/web/static/images/emoji/1f329.png diff --git a/web/static/images/emoji/1f32a.png b/web/static/images/emoji/1f32a.png Binary files differnew file mode 100644 index 000000000..a0ce6d55a --- /dev/null +++ b/web/static/images/emoji/1f32a.png diff --git a/web/static/images/emoji/1f32b.png b/web/static/images/emoji/1f32b.png Binary files differnew file mode 100644 index 000000000..babf8a114 --- /dev/null +++ b/web/static/images/emoji/1f32b.png diff --git a/web/static/images/emoji/1f32c.png b/web/static/images/emoji/1f32c.png Binary files differnew file mode 100644 index 000000000..1586cb2cd --- /dev/null +++ b/web/static/images/emoji/1f32c.png diff --git a/web/static/images/emoji/1f330.png b/web/static/images/emoji/1f330.png Binary files differnew file mode 100644 index 000000000..f983cb132 --- /dev/null +++ b/web/static/images/emoji/1f330.png diff --git a/web/static/images/emoji/1f331.png b/web/static/images/emoji/1f331.png Binary files differnew file mode 100644 index 000000000..eae79d274 --- /dev/null +++ b/web/static/images/emoji/1f331.png diff --git a/web/static/images/emoji/1f332.png b/web/static/images/emoji/1f332.png Binary files differnew file mode 100644 index 000000000..dd88a6934 --- /dev/null +++ b/web/static/images/emoji/1f332.png diff --git a/web/static/images/emoji/1f333.png b/web/static/images/emoji/1f333.png Binary files differnew file mode 100644 index 000000000..1a54ec34b --- /dev/null +++ b/web/static/images/emoji/1f333.png diff --git a/web/static/images/emoji/1f334.png b/web/static/images/emoji/1f334.png Binary files differnew file mode 100644 index 000000000..b18cffc94 --- /dev/null +++ b/web/static/images/emoji/1f334.png diff --git a/web/static/images/emoji/1f335.png b/web/static/images/emoji/1f335.png Binary files differnew file mode 100644 index 000000000..0204fd343 --- /dev/null +++ b/web/static/images/emoji/1f335.png diff --git a/web/static/images/emoji/1f336.png b/web/static/images/emoji/1f336.png Binary files differnew file mode 100644 index 000000000..a6db2ca09 --- /dev/null +++ b/web/static/images/emoji/1f336.png diff --git a/web/static/images/emoji/1f337.png b/web/static/images/emoji/1f337.png Binary files differnew file mode 100644 index 000000000..a05a51edf --- /dev/null +++ b/web/static/images/emoji/1f337.png diff --git a/web/static/images/emoji/1f338.png b/web/static/images/emoji/1f338.png Binary files differnew file mode 100644 index 000000000..7cd8a22e7 --- /dev/null +++ b/web/static/images/emoji/1f338.png diff --git a/web/static/images/emoji/1f339.png b/web/static/images/emoji/1f339.png Binary files differnew file mode 100644 index 000000000..2a9d77598 --- /dev/null +++ b/web/static/images/emoji/1f339.png diff --git a/web/static/images/emoji/1f33a.png b/web/static/images/emoji/1f33a.png Binary files differnew file mode 100644 index 000000000..e0fd12c95 --- /dev/null +++ b/web/static/images/emoji/1f33a.png diff --git a/web/static/images/emoji/1f33b.png b/web/static/images/emoji/1f33b.png Binary files differnew file mode 100644 index 000000000..b7cfbf82b --- /dev/null +++ b/web/static/images/emoji/1f33b.png diff --git a/web/static/images/emoji/1f33c.png b/web/static/images/emoji/1f33c.png Binary files differnew file mode 100644 index 000000000..ffc25f252 --- /dev/null +++ b/web/static/images/emoji/1f33c.png diff --git a/web/static/images/emoji/1f33d.png b/web/static/images/emoji/1f33d.png Binary files differnew file mode 100644 index 000000000..e5f2304bd --- /dev/null +++ b/web/static/images/emoji/1f33d.png diff --git a/web/static/images/emoji/1f33e.png b/web/static/images/emoji/1f33e.png Binary files differnew file mode 100644 index 000000000..9d3f454f8 --- /dev/null +++ b/web/static/images/emoji/1f33e.png diff --git a/web/static/images/emoji/1f33f.png b/web/static/images/emoji/1f33f.png Binary files differnew file mode 100644 index 000000000..cb5f8f735 --- /dev/null +++ b/web/static/images/emoji/1f33f.png diff --git a/web/static/images/emoji/1f340.png b/web/static/images/emoji/1f340.png Binary files differnew file mode 100644 index 000000000..fb11bb638 --- /dev/null +++ b/web/static/images/emoji/1f340.png diff --git a/web/static/images/emoji/1f341.png b/web/static/images/emoji/1f341.png Binary files differnew file mode 100644 index 000000000..2756537f1 --- /dev/null +++ b/web/static/images/emoji/1f341.png diff --git a/web/static/images/emoji/1f342.png b/web/static/images/emoji/1f342.png Binary files differnew file mode 100644 index 000000000..430ac0297 --- /dev/null +++ b/web/static/images/emoji/1f342.png diff --git a/web/static/images/emoji/1f343.png b/web/static/images/emoji/1f343.png Binary files differnew file mode 100644 index 000000000..569a66fac --- /dev/null +++ b/web/static/images/emoji/1f343.png diff --git a/web/static/images/emoji/1f344.png b/web/static/images/emoji/1f344.png Binary files differnew file mode 100644 index 000000000..ca7a039cb --- /dev/null +++ b/web/static/images/emoji/1f344.png diff --git a/web/static/images/emoji/1f345.png b/web/static/images/emoji/1f345.png Binary files differnew file mode 100644 index 000000000..4114c35ff --- /dev/null +++ b/web/static/images/emoji/1f345.png diff --git a/web/static/images/emoji/1f346.png b/web/static/images/emoji/1f346.png Binary files differnew file mode 100644 index 000000000..75c902569 --- /dev/null +++ b/web/static/images/emoji/1f346.png diff --git a/web/static/images/emoji/1f347.png b/web/static/images/emoji/1f347.png Binary files differnew file mode 100644 index 000000000..20b097131 --- /dev/null +++ b/web/static/images/emoji/1f347.png diff --git a/web/static/images/emoji/1f348.png b/web/static/images/emoji/1f348.png Binary files differnew file mode 100644 index 000000000..b27f00d25 --- /dev/null +++ b/web/static/images/emoji/1f348.png diff --git a/web/static/images/emoji/1f349.png b/web/static/images/emoji/1f349.png Binary files differnew file mode 100644 index 000000000..5125aea3e --- /dev/null +++ b/web/static/images/emoji/1f349.png diff --git a/web/static/images/emoji/1f34a.png b/web/static/images/emoji/1f34a.png Binary files differnew file mode 100644 index 000000000..7cb15fcf7 --- /dev/null +++ b/web/static/images/emoji/1f34a.png diff --git a/web/static/images/emoji/1f34b.png b/web/static/images/emoji/1f34b.png Binary files differnew file mode 100644 index 000000000..fa5e87b03 --- /dev/null +++ b/web/static/images/emoji/1f34b.png diff --git a/web/static/images/emoji/1f34c.png b/web/static/images/emoji/1f34c.png Binary files differnew file mode 100644 index 000000000..5e68af770 --- /dev/null +++ b/web/static/images/emoji/1f34c.png diff --git a/web/static/images/emoji/1f34d.png b/web/static/images/emoji/1f34d.png Binary files differnew file mode 100644 index 000000000..b9b9f8827 --- /dev/null +++ b/web/static/images/emoji/1f34d.png diff --git a/web/static/images/emoji/1f34e.png b/web/static/images/emoji/1f34e.png Binary files differnew file mode 100644 index 000000000..bcc5c94aa --- /dev/null +++ b/web/static/images/emoji/1f34e.png diff --git a/web/static/images/emoji/1f34f.png b/web/static/images/emoji/1f34f.png Binary files differnew file mode 100644 index 000000000..e37514773 --- /dev/null +++ b/web/static/images/emoji/1f34f.png diff --git a/web/static/images/emoji/1f350.png b/web/static/images/emoji/1f350.png Binary files differnew file mode 100644 index 000000000..20b63b461 --- /dev/null +++ b/web/static/images/emoji/1f350.png diff --git a/web/static/images/emoji/1f351.png b/web/static/images/emoji/1f351.png Binary files differnew file mode 100644 index 000000000..24409997d --- /dev/null +++ b/web/static/images/emoji/1f351.png diff --git a/web/static/images/emoji/1f352.png b/web/static/images/emoji/1f352.png Binary files differnew file mode 100644 index 000000000..982292e95 --- /dev/null +++ b/web/static/images/emoji/1f352.png diff --git a/web/static/images/emoji/1f353.png b/web/static/images/emoji/1f353.png Binary files differnew file mode 100644 index 000000000..b28837732 --- /dev/null +++ b/web/static/images/emoji/1f353.png diff --git a/web/static/images/emoji/1f354.png b/web/static/images/emoji/1f354.png Binary files differnew file mode 100644 index 000000000..b18121930 --- /dev/null +++ b/web/static/images/emoji/1f354.png diff --git a/web/static/images/emoji/1f355.png b/web/static/images/emoji/1f355.png Binary files differnew file mode 100644 index 000000000..ae1ef6266 --- /dev/null +++ b/web/static/images/emoji/1f355.png diff --git a/web/static/images/emoji/1f356.png b/web/static/images/emoji/1f356.png Binary files differnew file mode 100644 index 000000000..e9697fef1 --- /dev/null +++ b/web/static/images/emoji/1f356.png diff --git a/web/static/images/emoji/1f357.png b/web/static/images/emoji/1f357.png Binary files differnew file mode 100644 index 000000000..eafba9a3e --- /dev/null +++ b/web/static/images/emoji/1f357.png diff --git a/web/static/images/emoji/1f358.png b/web/static/images/emoji/1f358.png Binary files differnew file mode 100644 index 000000000..83382b6cb --- /dev/null +++ b/web/static/images/emoji/1f358.png diff --git a/web/static/images/emoji/1f359.png b/web/static/images/emoji/1f359.png Binary files differnew file mode 100644 index 000000000..4a24a91e2 --- /dev/null +++ b/web/static/images/emoji/1f359.png diff --git a/web/static/images/emoji/1f35a.png b/web/static/images/emoji/1f35a.png Binary files differnew file mode 100644 index 000000000..8a9076f8a --- /dev/null +++ b/web/static/images/emoji/1f35a.png diff --git a/web/static/images/emoji/1f35b.png b/web/static/images/emoji/1f35b.png Binary files differnew file mode 100644 index 000000000..0afd63ca1 --- /dev/null +++ b/web/static/images/emoji/1f35b.png diff --git a/web/static/images/emoji/1f35c.png b/web/static/images/emoji/1f35c.png Binary files differnew file mode 100644 index 000000000..787827566 --- /dev/null +++ b/web/static/images/emoji/1f35c.png diff --git a/web/static/images/emoji/1f35d.png b/web/static/images/emoji/1f35d.png Binary files differnew file mode 100644 index 000000000..ff15e877a --- /dev/null +++ b/web/static/images/emoji/1f35d.png diff --git a/web/static/images/emoji/1f35e.png b/web/static/images/emoji/1f35e.png Binary files differnew file mode 100644 index 000000000..3ca73ebc7 --- /dev/null +++ b/web/static/images/emoji/1f35e.png diff --git a/web/static/images/emoji/1f35f.png b/web/static/images/emoji/1f35f.png Binary files differnew file mode 100644 index 000000000..bed7a0153 --- /dev/null +++ b/web/static/images/emoji/1f35f.png diff --git a/web/static/images/emoji/1f360.png b/web/static/images/emoji/1f360.png Binary files differnew file mode 100644 index 000000000..7c60e76cb --- /dev/null +++ b/web/static/images/emoji/1f360.png diff --git a/web/static/images/emoji/1f361.png b/web/static/images/emoji/1f361.png Binary files differnew file mode 100644 index 000000000..d679ebc02 --- /dev/null +++ b/web/static/images/emoji/1f361.png diff --git a/web/static/images/emoji/1f362.png b/web/static/images/emoji/1f362.png Binary files differnew file mode 100644 index 000000000..8ac803517 --- /dev/null +++ b/web/static/images/emoji/1f362.png diff --git a/web/static/images/emoji/1f363.png b/web/static/images/emoji/1f363.png Binary files differnew file mode 100644 index 000000000..8c2f6826e --- /dev/null +++ b/web/static/images/emoji/1f363.png diff --git a/web/static/images/emoji/1f364.png b/web/static/images/emoji/1f364.png Binary files differnew file mode 100644 index 000000000..30c165438 --- /dev/null +++ b/web/static/images/emoji/1f364.png diff --git a/web/static/images/emoji/1f365.png b/web/static/images/emoji/1f365.png Binary files differnew file mode 100644 index 000000000..6ff94bc36 --- /dev/null +++ b/web/static/images/emoji/1f365.png diff --git a/web/static/images/emoji/1f366.png b/web/static/images/emoji/1f366.png Binary files differnew file mode 100644 index 000000000..39c2e6a8f --- /dev/null +++ b/web/static/images/emoji/1f366.png diff --git a/web/static/images/emoji/1f367.png b/web/static/images/emoji/1f367.png Binary files differnew file mode 100644 index 000000000..a14f0f4ec --- /dev/null +++ b/web/static/images/emoji/1f367.png diff --git a/web/static/images/emoji/1f368.png b/web/static/images/emoji/1f368.png Binary files differnew file mode 100644 index 000000000..5dc67b4cc --- /dev/null +++ b/web/static/images/emoji/1f368.png diff --git a/web/static/images/emoji/1f369.png b/web/static/images/emoji/1f369.png Binary files differnew file mode 100644 index 000000000..b415c96bc --- /dev/null +++ b/web/static/images/emoji/1f369.png diff --git a/web/static/images/emoji/1f36a.png b/web/static/images/emoji/1f36a.png Binary files differnew file mode 100644 index 000000000..8eb640e8d --- /dev/null +++ b/web/static/images/emoji/1f36a.png diff --git a/web/static/images/emoji/1f36b.png b/web/static/images/emoji/1f36b.png Binary files differnew file mode 100644 index 000000000..f76d0902e --- /dev/null +++ b/web/static/images/emoji/1f36b.png diff --git a/web/static/images/emoji/1f36c.png b/web/static/images/emoji/1f36c.png Binary files differnew file mode 100644 index 000000000..c067807c1 --- /dev/null +++ b/web/static/images/emoji/1f36c.png diff --git a/web/static/images/emoji/1f36d.png b/web/static/images/emoji/1f36d.png Binary files differnew file mode 100644 index 000000000..2c6a0ed4c --- /dev/null +++ b/web/static/images/emoji/1f36d.png diff --git a/web/static/images/emoji/1f36e.png b/web/static/images/emoji/1f36e.png Binary files differnew file mode 100644 index 000000000..44af92a57 --- /dev/null +++ b/web/static/images/emoji/1f36e.png diff --git a/web/static/images/emoji/1f36f.png b/web/static/images/emoji/1f36f.png Binary files differnew file mode 100644 index 000000000..a563f59c7 --- /dev/null +++ b/web/static/images/emoji/1f36f.png diff --git a/web/static/images/emoji/1f370.png b/web/static/images/emoji/1f370.png Binary files differnew file mode 100644 index 000000000..0be915e5b --- /dev/null +++ b/web/static/images/emoji/1f370.png diff --git a/web/static/images/emoji/1f371.png b/web/static/images/emoji/1f371.png Binary files differnew file mode 100644 index 000000000..58af834fd --- /dev/null +++ b/web/static/images/emoji/1f371.png diff --git a/web/static/images/emoji/1f372.png b/web/static/images/emoji/1f372.png Binary files differnew file mode 100644 index 000000000..6f8305338 --- /dev/null +++ b/web/static/images/emoji/1f372.png diff --git a/web/static/images/emoji/1f373.png b/web/static/images/emoji/1f373.png Binary files differnew file mode 100644 index 000000000..b5c090a17 --- /dev/null +++ b/web/static/images/emoji/1f373.png diff --git a/web/static/images/emoji/1f374.png b/web/static/images/emoji/1f374.png Binary files differnew file mode 100644 index 000000000..ea13776ee --- /dev/null +++ b/web/static/images/emoji/1f374.png diff --git a/web/static/images/emoji/1f375.png b/web/static/images/emoji/1f375.png Binary files differnew file mode 100644 index 000000000..b8d25a962 --- /dev/null +++ b/web/static/images/emoji/1f375.png diff --git a/web/static/images/emoji/1f376.png b/web/static/images/emoji/1f376.png Binary files differnew file mode 100644 index 000000000..40a158bfe --- /dev/null +++ b/web/static/images/emoji/1f376.png diff --git a/web/static/images/emoji/1f377.png b/web/static/images/emoji/1f377.png Binary files differnew file mode 100644 index 000000000..7aea60cc8 --- /dev/null +++ b/web/static/images/emoji/1f377.png diff --git a/web/static/images/emoji/1f378.png b/web/static/images/emoji/1f378.png Binary files differnew file mode 100644 index 000000000..abff15aa8 --- /dev/null +++ b/web/static/images/emoji/1f378.png diff --git a/web/static/images/emoji/1f379.png b/web/static/images/emoji/1f379.png Binary files differnew file mode 100644 index 000000000..34a5a385c --- /dev/null +++ b/web/static/images/emoji/1f379.png diff --git a/web/static/images/emoji/1f37a.png b/web/static/images/emoji/1f37a.png Binary files differnew file mode 100644 index 000000000..de0c3ddd9 --- /dev/null +++ b/web/static/images/emoji/1f37a.png diff --git a/web/static/images/emoji/1f37b.png b/web/static/images/emoji/1f37b.png Binary files differnew file mode 100644 index 000000000..04ba4d9f4 --- /dev/null +++ b/web/static/images/emoji/1f37b.png diff --git a/web/static/images/emoji/1f37c.png b/web/static/images/emoji/1f37c.png Binary files differnew file mode 100644 index 000000000..64e9edee3 --- /dev/null +++ b/web/static/images/emoji/1f37c.png diff --git a/web/static/images/emoji/1f37d.png b/web/static/images/emoji/1f37d.png Binary files differnew file mode 100644 index 000000000..d2ebb8435 --- /dev/null +++ b/web/static/images/emoji/1f37d.png diff --git a/web/static/images/emoji/1f380.png b/web/static/images/emoji/1f380.png Binary files differnew file mode 100644 index 000000000..ea7ae1d76 --- /dev/null +++ b/web/static/images/emoji/1f380.png diff --git a/web/static/images/emoji/1f381.png b/web/static/images/emoji/1f381.png Binary files differnew file mode 100644 index 000000000..bde801b55 --- /dev/null +++ b/web/static/images/emoji/1f381.png diff --git a/web/static/images/emoji/1f382.png b/web/static/images/emoji/1f382.png Binary files differnew file mode 100644 index 000000000..c5253b099 --- /dev/null +++ b/web/static/images/emoji/1f382.png diff --git a/web/static/images/emoji/1f383.png b/web/static/images/emoji/1f383.png Binary files differnew file mode 100644 index 000000000..0ea29490d --- /dev/null +++ b/web/static/images/emoji/1f383.png diff --git a/web/static/images/emoji/1f384.png b/web/static/images/emoji/1f384.png Binary files differnew file mode 100644 index 000000000..7674eb441 --- /dev/null +++ b/web/static/images/emoji/1f384.png diff --git a/web/static/images/emoji/1f385.png b/web/static/images/emoji/1f385.png Binary files differnew file mode 100644 index 000000000..29d63fd91 --- /dev/null +++ b/web/static/images/emoji/1f385.png diff --git a/web/static/images/emoji/1f386.png b/web/static/images/emoji/1f386.png Binary files differnew file mode 100644 index 000000000..8e081a718 --- /dev/null +++ b/web/static/images/emoji/1f386.png diff --git a/web/static/images/emoji/1f387.png b/web/static/images/emoji/1f387.png Binary files differnew file mode 100644 index 000000000..968a7172b --- /dev/null +++ b/web/static/images/emoji/1f387.png diff --git a/web/static/images/emoji/1f388.png b/web/static/images/emoji/1f388.png Binary files differnew file mode 100644 index 000000000..3cea35eba --- /dev/null +++ b/web/static/images/emoji/1f388.png diff --git a/web/static/images/emoji/1f389.png b/web/static/images/emoji/1f389.png Binary files differnew file mode 100644 index 000000000..003a66996 --- /dev/null +++ b/web/static/images/emoji/1f389.png diff --git a/web/static/images/emoji/1f38a.png b/web/static/images/emoji/1f38a.png Binary files differnew file mode 100644 index 000000000..74c61e434 --- /dev/null +++ b/web/static/images/emoji/1f38a.png diff --git a/web/static/images/emoji/1f38b.png b/web/static/images/emoji/1f38b.png Binary files differnew file mode 100644 index 000000000..ec7d8cc22 --- /dev/null +++ b/web/static/images/emoji/1f38b.png diff --git a/web/static/images/emoji/1f38c.png b/web/static/images/emoji/1f38c.png Binary files differnew file mode 100644 index 000000000..5d88b0ad0 --- /dev/null +++ b/web/static/images/emoji/1f38c.png diff --git a/web/static/images/emoji/1f38d.png b/web/static/images/emoji/1f38d.png Binary files differnew file mode 100644 index 000000000..4e27cc4c5 --- /dev/null +++ b/web/static/images/emoji/1f38d.png diff --git a/web/static/images/emoji/1f38e.png b/web/static/images/emoji/1f38e.png Binary files differnew file mode 100644 index 000000000..dcd7b9385 --- /dev/null +++ b/web/static/images/emoji/1f38e.png diff --git a/web/static/images/emoji/1f38f.png b/web/static/images/emoji/1f38f.png Binary files differnew file mode 100644 index 000000000..a6bbd0ea3 --- /dev/null +++ b/web/static/images/emoji/1f38f.png diff --git a/web/static/images/emoji/1f390.png b/web/static/images/emoji/1f390.png Binary files differnew file mode 100644 index 000000000..8aee0e8bd --- /dev/null +++ b/web/static/images/emoji/1f390.png diff --git a/web/static/images/emoji/1f391.png b/web/static/images/emoji/1f391.png Binary files differnew file mode 100644 index 000000000..8ce954451 --- /dev/null +++ b/web/static/images/emoji/1f391.png diff --git a/web/static/images/emoji/1f392.png b/web/static/images/emoji/1f392.png Binary files differnew file mode 100644 index 000000000..f9bb6c1aa --- /dev/null +++ b/web/static/images/emoji/1f392.png diff --git a/web/static/images/emoji/1f393.png b/web/static/images/emoji/1f393.png Binary files differnew file mode 100644 index 000000000..4d5744f60 --- /dev/null +++ b/web/static/images/emoji/1f393.png diff --git a/web/static/images/emoji/1f394.png b/web/static/images/emoji/1f394.png Binary files differnew file mode 100644 index 000000000..62db66cd5 --- /dev/null +++ b/web/static/images/emoji/1f394.png diff --git a/web/static/images/emoji/1f395.png b/web/static/images/emoji/1f395.png Binary files differnew file mode 100644 index 000000000..8b28b3fe7 --- /dev/null +++ b/web/static/images/emoji/1f395.png diff --git a/web/static/images/emoji/1f396.png b/web/static/images/emoji/1f396.png Binary files differnew file mode 100644 index 000000000..6558c71fc --- /dev/null +++ b/web/static/images/emoji/1f396.png diff --git a/web/static/images/emoji/1f397.png b/web/static/images/emoji/1f397.png Binary files differnew file mode 100644 index 000000000..8104604b6 --- /dev/null +++ b/web/static/images/emoji/1f397.png diff --git a/web/static/images/emoji/1f398.png b/web/static/images/emoji/1f398.png Binary files differnew file mode 100644 index 000000000..862d237a8 --- /dev/null +++ b/web/static/images/emoji/1f398.png diff --git a/web/static/images/emoji/1f399.png b/web/static/images/emoji/1f399.png Binary files differnew file mode 100644 index 000000000..7e186826e --- /dev/null +++ b/web/static/images/emoji/1f399.png diff --git a/web/static/images/emoji/1f39a.png b/web/static/images/emoji/1f39a.png Binary files differnew file mode 100644 index 000000000..389784aba --- /dev/null +++ b/web/static/images/emoji/1f39a.png diff --git a/web/static/images/emoji/1f39b.png b/web/static/images/emoji/1f39b.png Binary files differnew file mode 100644 index 000000000..ab4045342 --- /dev/null +++ b/web/static/images/emoji/1f39b.png diff --git a/web/static/images/emoji/1f39c.png b/web/static/images/emoji/1f39c.png Binary files differnew file mode 100644 index 000000000..187291ffc --- /dev/null +++ b/web/static/images/emoji/1f39c.png diff --git a/web/static/images/emoji/1f39d.png b/web/static/images/emoji/1f39d.png Binary files differnew file mode 100644 index 000000000..829ca50ce --- /dev/null +++ b/web/static/images/emoji/1f39d.png diff --git a/web/static/images/emoji/1f39e.png b/web/static/images/emoji/1f39e.png Binary files differnew file mode 100644 index 000000000..d2b9082bc --- /dev/null +++ b/web/static/images/emoji/1f39e.png diff --git a/web/static/images/emoji/1f39f.png b/web/static/images/emoji/1f39f.png Binary files differnew file mode 100644 index 000000000..e12819269 --- /dev/null +++ b/web/static/images/emoji/1f39f.png diff --git a/web/static/images/emoji/1f3a0.png b/web/static/images/emoji/1f3a0.png Binary files differnew file mode 100644 index 000000000..33f159f06 --- /dev/null +++ b/web/static/images/emoji/1f3a0.png diff --git a/web/static/images/emoji/1f3a1.png b/web/static/images/emoji/1f3a1.png Binary files differnew file mode 100644 index 000000000..56bfd87fb --- /dev/null +++ b/web/static/images/emoji/1f3a1.png diff --git a/web/static/images/emoji/1f3a2.png b/web/static/images/emoji/1f3a2.png Binary files differnew file mode 100644 index 000000000..0c506765e --- /dev/null +++ b/web/static/images/emoji/1f3a2.png diff --git a/web/static/images/emoji/1f3a3.png b/web/static/images/emoji/1f3a3.png Binary files differnew file mode 100644 index 000000000..270a011dd --- /dev/null +++ b/web/static/images/emoji/1f3a3.png diff --git a/web/static/images/emoji/1f3a4.png b/web/static/images/emoji/1f3a4.png Binary files differnew file mode 100644 index 000000000..346b8967c --- /dev/null +++ b/web/static/images/emoji/1f3a4.png diff --git a/web/static/images/emoji/1f3a5.png b/web/static/images/emoji/1f3a5.png Binary files differnew file mode 100644 index 000000000..077458b67 --- /dev/null +++ b/web/static/images/emoji/1f3a5.png diff --git a/web/static/images/emoji/1f3a6.png b/web/static/images/emoji/1f3a6.png Binary files differnew file mode 100644 index 000000000..972b57df7 --- /dev/null +++ b/web/static/images/emoji/1f3a6.png diff --git a/web/static/images/emoji/1f3a7.png b/web/static/images/emoji/1f3a7.png Binary files differnew file mode 100644 index 000000000..3335d4060 --- /dev/null +++ b/web/static/images/emoji/1f3a7.png diff --git a/web/static/images/emoji/1f3a8.png b/web/static/images/emoji/1f3a8.png Binary files differnew file mode 100644 index 000000000..05116974d --- /dev/null +++ b/web/static/images/emoji/1f3a8.png diff --git a/web/static/images/emoji/1f3a9.png b/web/static/images/emoji/1f3a9.png Binary files differnew file mode 100644 index 000000000..a945ccb8b --- /dev/null +++ b/web/static/images/emoji/1f3a9.png diff --git a/web/static/images/emoji/1f3aa.png b/web/static/images/emoji/1f3aa.png Binary files differnew file mode 100644 index 000000000..713b4f085 --- /dev/null +++ b/web/static/images/emoji/1f3aa.png diff --git a/web/static/images/emoji/1f3ab.png b/web/static/images/emoji/1f3ab.png Binary files differnew file mode 100644 index 000000000..1e697cab6 --- /dev/null +++ b/web/static/images/emoji/1f3ab.png diff --git a/web/static/images/emoji/1f3ac.png b/web/static/images/emoji/1f3ac.png Binary files differnew file mode 100644 index 000000000..54bbba809 --- /dev/null +++ b/web/static/images/emoji/1f3ac.png diff --git a/web/static/images/emoji/1f3ad.png b/web/static/images/emoji/1f3ad.png Binary files differnew file mode 100644 index 000000000..97a5bb7fe --- /dev/null +++ b/web/static/images/emoji/1f3ad.png diff --git a/web/static/images/emoji/1f3ae.png b/web/static/images/emoji/1f3ae.png Binary files differnew file mode 100644 index 000000000..702832e99 --- /dev/null +++ b/web/static/images/emoji/1f3ae.png diff --git a/web/static/images/emoji/1f3af.png b/web/static/images/emoji/1f3af.png Binary files differnew file mode 100644 index 000000000..527b6a94e --- /dev/null +++ b/web/static/images/emoji/1f3af.png diff --git a/web/static/images/emoji/1f3b0.png b/web/static/images/emoji/1f3b0.png Binary files differnew file mode 100644 index 000000000..81db7b1c0 --- /dev/null +++ b/web/static/images/emoji/1f3b0.png diff --git a/web/static/images/emoji/1f3b1.png b/web/static/images/emoji/1f3b1.png Binary files differnew file mode 100644 index 000000000..7bf80b6d7 --- /dev/null +++ b/web/static/images/emoji/1f3b1.png diff --git a/web/static/images/emoji/1f3b2.png b/web/static/images/emoji/1f3b2.png Binary files differnew file mode 100644 index 000000000..7723d290b --- /dev/null +++ b/web/static/images/emoji/1f3b2.png diff --git a/web/static/images/emoji/1f3b3.png b/web/static/images/emoji/1f3b3.png Binary files differnew file mode 100644 index 000000000..e41edfbdb --- /dev/null +++ b/web/static/images/emoji/1f3b3.png diff --git a/web/static/images/emoji/1f3b4.png b/web/static/images/emoji/1f3b4.png Binary files differnew file mode 100644 index 000000000..b5dff4687 --- /dev/null +++ b/web/static/images/emoji/1f3b4.png diff --git a/web/static/images/emoji/1f3b5.png b/web/static/images/emoji/1f3b5.png Binary files differnew file mode 100644 index 000000000..f9bc86e4e --- /dev/null +++ b/web/static/images/emoji/1f3b5.png diff --git a/web/static/images/emoji/1f3b6.png b/web/static/images/emoji/1f3b6.png Binary files differnew file mode 100644 index 000000000..df2810aa4 --- /dev/null +++ b/web/static/images/emoji/1f3b6.png diff --git a/web/static/images/emoji/1f3b7.png b/web/static/images/emoji/1f3b7.png Binary files differnew file mode 100644 index 000000000..63446652f --- /dev/null +++ b/web/static/images/emoji/1f3b7.png diff --git a/web/static/images/emoji/1f3b8.png b/web/static/images/emoji/1f3b8.png Binary files differnew file mode 100644 index 000000000..ab62a7fbb --- /dev/null +++ b/web/static/images/emoji/1f3b8.png diff --git a/web/static/images/emoji/1f3b9.png b/web/static/images/emoji/1f3b9.png Binary files differnew file mode 100644 index 000000000..c6c029920 --- /dev/null +++ b/web/static/images/emoji/1f3b9.png diff --git a/web/static/images/emoji/1f3ba.png b/web/static/images/emoji/1f3ba.png Binary files differnew file mode 100644 index 000000000..c2270ccbf --- /dev/null +++ b/web/static/images/emoji/1f3ba.png diff --git a/web/static/images/emoji/1f3bb.png b/web/static/images/emoji/1f3bb.png Binary files differnew file mode 100644 index 000000000..0bb8e0a10 --- /dev/null +++ b/web/static/images/emoji/1f3bb.png diff --git a/web/static/images/emoji/1f3bc.png b/web/static/images/emoji/1f3bc.png Binary files differnew file mode 100644 index 000000000..ae50ab288 --- /dev/null +++ b/web/static/images/emoji/1f3bc.png diff --git a/web/static/images/emoji/1f3bd.png b/web/static/images/emoji/1f3bd.png Binary files differnew file mode 100644 index 000000000..e49632dad --- /dev/null +++ b/web/static/images/emoji/1f3bd.png diff --git a/web/static/images/emoji/1f3be.png b/web/static/images/emoji/1f3be.png Binary files differnew file mode 100644 index 000000000..cade3a566 --- /dev/null +++ b/web/static/images/emoji/1f3be.png diff --git a/web/static/images/emoji/1f3bf.png b/web/static/images/emoji/1f3bf.png Binary files differnew file mode 100644 index 000000000..ac8151619 --- /dev/null +++ b/web/static/images/emoji/1f3bf.png diff --git a/web/static/images/emoji/1f3c0.png b/web/static/images/emoji/1f3c0.png Binary files differnew file mode 100644 index 000000000..e9b1c735a --- /dev/null +++ b/web/static/images/emoji/1f3c0.png diff --git a/web/static/images/emoji/1f3c1.png b/web/static/images/emoji/1f3c1.png Binary files differnew file mode 100644 index 000000000..9f1d564f6 --- /dev/null +++ b/web/static/images/emoji/1f3c1.png diff --git a/web/static/images/emoji/1f3c2.png b/web/static/images/emoji/1f3c2.png Binary files differnew file mode 100644 index 000000000..076c48889 --- /dev/null +++ b/web/static/images/emoji/1f3c2.png diff --git a/web/static/images/emoji/1f3c3.png b/web/static/images/emoji/1f3c3.png Binary files differnew file mode 100644 index 000000000..8dcc38400 --- /dev/null +++ b/web/static/images/emoji/1f3c3.png diff --git a/web/static/images/emoji/1f3c4.png b/web/static/images/emoji/1f3c4.png Binary files differnew file mode 100644 index 000000000..74b216a67 --- /dev/null +++ b/web/static/images/emoji/1f3c4.png diff --git a/web/static/images/emoji/1f3c5.png b/web/static/images/emoji/1f3c5.png Binary files differnew file mode 100644 index 000000000..1bf04b7c4 --- /dev/null +++ b/web/static/images/emoji/1f3c5.png diff --git a/web/static/images/emoji/1f3c6.png b/web/static/images/emoji/1f3c6.png Binary files differnew file mode 100644 index 000000000..38429fe19 --- /dev/null +++ b/web/static/images/emoji/1f3c6.png diff --git a/web/static/images/emoji/1f3c7.png b/web/static/images/emoji/1f3c7.png Binary files differnew file mode 100644 index 000000000..a7abb355f --- /dev/null +++ b/web/static/images/emoji/1f3c7.png diff --git a/web/static/images/emoji/1f3c8.png b/web/static/images/emoji/1f3c8.png Binary files differnew file mode 100644 index 000000000..24b5673b0 --- /dev/null +++ b/web/static/images/emoji/1f3c8.png diff --git a/web/static/images/emoji/1f3c9.png b/web/static/images/emoji/1f3c9.png Binary files differnew file mode 100644 index 000000000..3f72e529a --- /dev/null +++ b/web/static/images/emoji/1f3c9.png diff --git a/web/static/images/emoji/1f3ca.png b/web/static/images/emoji/1f3ca.png Binary files differnew file mode 100644 index 000000000..9f3e63702 --- /dev/null +++ b/web/static/images/emoji/1f3ca.png diff --git a/web/static/images/emoji/1f3cb.png b/web/static/images/emoji/1f3cb.png Binary files differnew file mode 100644 index 000000000..db6bb3d51 --- /dev/null +++ b/web/static/images/emoji/1f3cb.png diff --git a/web/static/images/emoji/1f3cc.png b/web/static/images/emoji/1f3cc.png Binary files differnew file mode 100644 index 000000000..9aa2f036f --- /dev/null +++ b/web/static/images/emoji/1f3cc.png diff --git a/web/static/images/emoji/1f3cd.png b/web/static/images/emoji/1f3cd.png Binary files differnew file mode 100644 index 000000000..8dcffc8f9 --- /dev/null +++ b/web/static/images/emoji/1f3cd.png diff --git a/web/static/images/emoji/1f3ce.png b/web/static/images/emoji/1f3ce.png Binary files differnew file mode 100644 index 000000000..0f76828f6 --- /dev/null +++ b/web/static/images/emoji/1f3ce.png diff --git a/web/static/images/emoji/1f3d4.png b/web/static/images/emoji/1f3d4.png Binary files differnew file mode 100644 index 000000000..f9071adec --- /dev/null +++ b/web/static/images/emoji/1f3d4.png diff --git a/web/static/images/emoji/1f3d5.png b/web/static/images/emoji/1f3d5.png Binary files differnew file mode 100644 index 000000000..d45a07fcf --- /dev/null +++ b/web/static/images/emoji/1f3d5.png diff --git a/web/static/images/emoji/1f3d6.png b/web/static/images/emoji/1f3d6.png Binary files differnew file mode 100644 index 000000000..0e244c164 --- /dev/null +++ b/web/static/images/emoji/1f3d6.png diff --git a/web/static/images/emoji/1f3d7.png b/web/static/images/emoji/1f3d7.png Binary files differnew file mode 100644 index 000000000..05a287fee --- /dev/null +++ b/web/static/images/emoji/1f3d7.png diff --git a/web/static/images/emoji/1f3d8.png b/web/static/images/emoji/1f3d8.png Binary files differnew file mode 100644 index 000000000..b3dde7347 --- /dev/null +++ b/web/static/images/emoji/1f3d8.png diff --git a/web/static/images/emoji/1f3d9.png b/web/static/images/emoji/1f3d9.png Binary files differnew file mode 100644 index 000000000..4d331db74 --- /dev/null +++ b/web/static/images/emoji/1f3d9.png diff --git a/web/static/images/emoji/1f3da.png b/web/static/images/emoji/1f3da.png Binary files differnew file mode 100644 index 000000000..316e082d1 --- /dev/null +++ b/web/static/images/emoji/1f3da.png diff --git a/web/static/images/emoji/1f3db.png b/web/static/images/emoji/1f3db.png Binary files differnew file mode 100644 index 000000000..71150c7c5 --- /dev/null +++ b/web/static/images/emoji/1f3db.png diff --git a/web/static/images/emoji/1f3dc.png b/web/static/images/emoji/1f3dc.png Binary files differnew file mode 100644 index 000000000..b627c829b --- /dev/null +++ b/web/static/images/emoji/1f3dc.png diff --git a/web/static/images/emoji/1f3dd.png b/web/static/images/emoji/1f3dd.png Binary files differnew file mode 100644 index 000000000..946ef26a5 --- /dev/null +++ b/web/static/images/emoji/1f3dd.png diff --git a/web/static/images/emoji/1f3de.png b/web/static/images/emoji/1f3de.png Binary files differnew file mode 100644 index 000000000..ff6fc0754 --- /dev/null +++ b/web/static/images/emoji/1f3de.png diff --git a/web/static/images/emoji/1f3df.png b/web/static/images/emoji/1f3df.png Binary files differnew file mode 100644 index 000000000..d1c925d35 --- /dev/null +++ b/web/static/images/emoji/1f3df.png diff --git a/web/static/images/emoji/1f3e0.png b/web/static/images/emoji/1f3e0.png Binary files differnew file mode 100644 index 000000000..90551d823 --- /dev/null +++ b/web/static/images/emoji/1f3e0.png diff --git a/web/static/images/emoji/1f3e1.png b/web/static/images/emoji/1f3e1.png Binary files differnew file mode 100644 index 000000000..b00186c46 --- /dev/null +++ b/web/static/images/emoji/1f3e1.png diff --git a/web/static/images/emoji/1f3e2.png b/web/static/images/emoji/1f3e2.png Binary files differnew file mode 100644 index 000000000..52a6bb4a4 --- /dev/null +++ b/web/static/images/emoji/1f3e2.png diff --git a/web/static/images/emoji/1f3e3.png b/web/static/images/emoji/1f3e3.png Binary files differnew file mode 100644 index 000000000..f819dac89 --- /dev/null +++ b/web/static/images/emoji/1f3e3.png diff --git a/web/static/images/emoji/1f3e4.png b/web/static/images/emoji/1f3e4.png Binary files differnew file mode 100644 index 000000000..b1cc0ddb8 --- /dev/null +++ b/web/static/images/emoji/1f3e4.png diff --git a/web/static/images/emoji/1f3e5.png b/web/static/images/emoji/1f3e5.png Binary files differnew file mode 100644 index 000000000..9a53371c1 --- /dev/null +++ b/web/static/images/emoji/1f3e5.png diff --git a/web/static/images/emoji/1f3e6.png b/web/static/images/emoji/1f3e6.png Binary files differnew file mode 100644 index 000000000..5cde6caa9 --- /dev/null +++ b/web/static/images/emoji/1f3e6.png diff --git a/web/static/images/emoji/1f3e7.png b/web/static/images/emoji/1f3e7.png Binary files differnew file mode 100644 index 000000000..0769e688b --- /dev/null +++ b/web/static/images/emoji/1f3e7.png diff --git a/web/static/images/emoji/1f3e8.png b/web/static/images/emoji/1f3e8.png Binary files differnew file mode 100644 index 000000000..7a22e341f --- /dev/null +++ b/web/static/images/emoji/1f3e8.png diff --git a/web/static/images/emoji/1f3e9.png b/web/static/images/emoji/1f3e9.png Binary files differnew file mode 100644 index 000000000..e3b893388 --- /dev/null +++ b/web/static/images/emoji/1f3e9.png diff --git a/web/static/images/emoji/1f3ea.png b/web/static/images/emoji/1f3ea.png Binary files differnew file mode 100644 index 000000000..fbfc257ee --- /dev/null +++ b/web/static/images/emoji/1f3ea.png diff --git a/web/static/images/emoji/1f3eb.png b/web/static/images/emoji/1f3eb.png Binary files differnew file mode 100644 index 000000000..f8e0814e0 --- /dev/null +++ b/web/static/images/emoji/1f3eb.png diff --git a/web/static/images/emoji/1f3ec.png b/web/static/images/emoji/1f3ec.png Binary files differnew file mode 100644 index 000000000..bc83c16f6 --- /dev/null +++ b/web/static/images/emoji/1f3ec.png diff --git a/web/static/images/emoji/1f3ed.png b/web/static/images/emoji/1f3ed.png Binary files differnew file mode 100644 index 000000000..e2d70133b --- /dev/null +++ b/web/static/images/emoji/1f3ed.png diff --git a/web/static/images/emoji/1f3ee.png b/web/static/images/emoji/1f3ee.png Binary files differnew file mode 100644 index 000000000..02345bc3e --- /dev/null +++ b/web/static/images/emoji/1f3ee.png diff --git a/web/static/images/emoji/1f3ef.png b/web/static/images/emoji/1f3ef.png Binary files differnew file mode 100644 index 000000000..ebdeecf6a --- /dev/null +++ b/web/static/images/emoji/1f3ef.png diff --git a/web/static/images/emoji/1f3f0.png b/web/static/images/emoji/1f3f0.png Binary files differnew file mode 100644 index 000000000..35cdcf722 --- /dev/null +++ b/web/static/images/emoji/1f3f0.png diff --git a/web/static/images/emoji/1f3f1.png b/web/static/images/emoji/1f3f1.png Binary files differnew file mode 100644 index 000000000..dc2f36cd3 --- /dev/null +++ b/web/static/images/emoji/1f3f1.png diff --git a/web/static/images/emoji/1f3f2.png b/web/static/images/emoji/1f3f2.png Binary files differnew file mode 100644 index 000000000..26f5a503e --- /dev/null +++ b/web/static/images/emoji/1f3f2.png diff --git a/web/static/images/emoji/1f3f3.png b/web/static/images/emoji/1f3f3.png Binary files differnew file mode 100644 index 000000000..bf6124fab --- /dev/null +++ b/web/static/images/emoji/1f3f3.png diff --git a/web/static/images/emoji/1f3f4.png b/web/static/images/emoji/1f3f4.png Binary files differnew file mode 100644 index 000000000..d48e98fe0 --- /dev/null +++ b/web/static/images/emoji/1f3f4.png diff --git a/web/static/images/emoji/1f3f5.png b/web/static/images/emoji/1f3f5.png Binary files differnew file mode 100644 index 000000000..8312eb177 --- /dev/null +++ b/web/static/images/emoji/1f3f5.png diff --git a/web/static/images/emoji/1f3f6.png b/web/static/images/emoji/1f3f6.png Binary files differnew file mode 100644 index 000000000..d16b265aa --- /dev/null +++ b/web/static/images/emoji/1f3f6.png diff --git a/web/static/images/emoji/1f3f7.png b/web/static/images/emoji/1f3f7.png Binary files differnew file mode 100644 index 000000000..411124e2c --- /dev/null +++ b/web/static/images/emoji/1f3f7.png diff --git a/web/static/images/emoji/1f400.png b/web/static/images/emoji/1f400.png Binary files differnew file mode 100644 index 000000000..58c2d79d8 --- /dev/null +++ b/web/static/images/emoji/1f400.png diff --git a/web/static/images/emoji/1f401.png b/web/static/images/emoji/1f401.png Binary files differnew file mode 100644 index 000000000..5b1b1137f --- /dev/null +++ b/web/static/images/emoji/1f401.png diff --git a/web/static/images/emoji/1f402.png b/web/static/images/emoji/1f402.png Binary files differnew file mode 100644 index 000000000..e1688630c --- /dev/null +++ b/web/static/images/emoji/1f402.png diff --git a/web/static/images/emoji/1f403.png b/web/static/images/emoji/1f403.png Binary files differnew file mode 100644 index 000000000..2c8fa68e8 --- /dev/null +++ b/web/static/images/emoji/1f403.png diff --git a/web/static/images/emoji/1f404.png b/web/static/images/emoji/1f404.png Binary files differnew file mode 100644 index 000000000..b3767f6c5 --- /dev/null +++ b/web/static/images/emoji/1f404.png diff --git a/web/static/images/emoji/1f405.png b/web/static/images/emoji/1f405.png Binary files differnew file mode 100644 index 000000000..c7910315e --- /dev/null +++ b/web/static/images/emoji/1f405.png diff --git a/web/static/images/emoji/1f406.png b/web/static/images/emoji/1f406.png Binary files differnew file mode 100644 index 000000000..eb16aa9c6 --- /dev/null +++ b/web/static/images/emoji/1f406.png diff --git a/web/static/images/emoji/1f407.png b/web/static/images/emoji/1f407.png Binary files differnew file mode 100644 index 000000000..ab2fae0fc --- /dev/null +++ b/web/static/images/emoji/1f407.png diff --git a/web/static/images/emoji/1f408.png b/web/static/images/emoji/1f408.png Binary files differnew file mode 100644 index 000000000..79f06af48 --- /dev/null +++ b/web/static/images/emoji/1f408.png diff --git a/web/static/images/emoji/1f409.png b/web/static/images/emoji/1f409.png Binary files differnew file mode 100644 index 000000000..b5b635770 --- /dev/null +++ b/web/static/images/emoji/1f409.png diff --git a/web/static/images/emoji/1f40a.png b/web/static/images/emoji/1f40a.png Binary files differnew file mode 100644 index 000000000..3b53cacf8 --- /dev/null +++ b/web/static/images/emoji/1f40a.png diff --git a/web/static/images/emoji/1f40b.png b/web/static/images/emoji/1f40b.png Binary files differnew file mode 100644 index 000000000..181860530 --- /dev/null +++ b/web/static/images/emoji/1f40b.png diff --git a/web/static/images/emoji/1f40c.png b/web/static/images/emoji/1f40c.png Binary files differnew file mode 100644 index 000000000..97f67fb2d --- /dev/null +++ b/web/static/images/emoji/1f40c.png diff --git a/web/static/images/emoji/1f40d.png b/web/static/images/emoji/1f40d.png Binary files differnew file mode 100644 index 000000000..dae731e22 --- /dev/null +++ b/web/static/images/emoji/1f40d.png diff --git a/web/static/images/emoji/1f40e.png b/web/static/images/emoji/1f40e.png Binary files differnew file mode 100644 index 000000000..fadf8f2bf --- /dev/null +++ b/web/static/images/emoji/1f40e.png diff --git a/web/static/images/emoji/1f40f.png b/web/static/images/emoji/1f40f.png Binary files differnew file mode 100644 index 000000000..17af1b9a5 --- /dev/null +++ b/web/static/images/emoji/1f40f.png diff --git a/web/static/images/emoji/1f410.png b/web/static/images/emoji/1f410.png Binary files differnew file mode 100644 index 000000000..41210e5fa --- /dev/null +++ b/web/static/images/emoji/1f410.png diff --git a/web/static/images/emoji/1f411.png b/web/static/images/emoji/1f411.png Binary files differnew file mode 100644 index 000000000..e47d6eda8 --- /dev/null +++ b/web/static/images/emoji/1f411.png diff --git a/web/static/images/emoji/1f412.png b/web/static/images/emoji/1f412.png Binary files differnew file mode 100644 index 000000000..33e542ba6 --- /dev/null +++ b/web/static/images/emoji/1f412.png diff --git a/web/static/images/emoji/1f413.png b/web/static/images/emoji/1f413.png Binary files differnew file mode 100644 index 000000000..798542a0e --- /dev/null +++ b/web/static/images/emoji/1f413.png diff --git a/web/static/images/emoji/1f414.png b/web/static/images/emoji/1f414.png Binary files differnew file mode 100644 index 000000000..182ffb343 --- /dev/null +++ b/web/static/images/emoji/1f414.png diff --git a/web/static/images/emoji/1f415.png b/web/static/images/emoji/1f415.png Binary files differnew file mode 100644 index 000000000..7057ffe66 --- /dev/null +++ b/web/static/images/emoji/1f415.png diff --git a/web/static/images/emoji/1f416.png b/web/static/images/emoji/1f416.png Binary files differnew file mode 100644 index 000000000..de1147954 --- /dev/null +++ b/web/static/images/emoji/1f416.png diff --git a/web/static/images/emoji/1f417.png b/web/static/images/emoji/1f417.png Binary files differnew file mode 100644 index 000000000..2ccb92fd1 --- /dev/null +++ b/web/static/images/emoji/1f417.png diff --git a/web/static/images/emoji/1f418.png b/web/static/images/emoji/1f418.png Binary files differnew file mode 100644 index 000000000..af079ec4d --- /dev/null +++ b/web/static/images/emoji/1f418.png diff --git a/web/static/images/emoji/1f419.png b/web/static/images/emoji/1f419.png Binary files differnew file mode 100644 index 000000000..8add7143e --- /dev/null +++ b/web/static/images/emoji/1f419.png diff --git a/web/static/images/emoji/1f41a.png b/web/static/images/emoji/1f41a.png Binary files differnew file mode 100644 index 000000000..01bc086fa --- /dev/null +++ b/web/static/images/emoji/1f41a.png diff --git a/web/static/images/emoji/1f41b.png b/web/static/images/emoji/1f41b.png Binary files differnew file mode 100644 index 000000000..06b35cf5a --- /dev/null +++ b/web/static/images/emoji/1f41b.png diff --git a/web/static/images/emoji/1f41c.png b/web/static/images/emoji/1f41c.png Binary files differnew file mode 100644 index 000000000..1b6ba80c0 --- /dev/null +++ b/web/static/images/emoji/1f41c.png diff --git a/web/static/images/emoji/1f41d.png b/web/static/images/emoji/1f41d.png Binary files differnew file mode 100644 index 000000000..e67b7703b --- /dev/null +++ b/web/static/images/emoji/1f41d.png diff --git a/web/static/images/emoji/1f41e.png b/web/static/images/emoji/1f41e.png Binary files differnew file mode 100644 index 000000000..c35380926 --- /dev/null +++ b/web/static/images/emoji/1f41e.png diff --git a/web/static/images/emoji/1f41f.png b/web/static/images/emoji/1f41f.png Binary files differnew file mode 100644 index 000000000..cb7b896d6 --- /dev/null +++ b/web/static/images/emoji/1f41f.png diff --git a/web/static/images/emoji/1f420.png b/web/static/images/emoji/1f420.png Binary files differnew file mode 100644 index 000000000..1904f61be --- /dev/null +++ b/web/static/images/emoji/1f420.png diff --git a/web/static/images/emoji/1f421.png b/web/static/images/emoji/1f421.png Binary files differnew file mode 100644 index 000000000..7529feff7 --- /dev/null +++ b/web/static/images/emoji/1f421.png diff --git a/web/static/images/emoji/1f422.png b/web/static/images/emoji/1f422.png Binary files differnew file mode 100644 index 000000000..c3a628c0a --- /dev/null +++ b/web/static/images/emoji/1f422.png diff --git a/web/static/images/emoji/1f423.png b/web/static/images/emoji/1f423.png Binary files differnew file mode 100644 index 000000000..1e688c228 --- /dev/null +++ b/web/static/images/emoji/1f423.png diff --git a/web/static/images/emoji/1f424.png b/web/static/images/emoji/1f424.png Binary files differnew file mode 100644 index 000000000..66785c880 --- /dev/null +++ b/web/static/images/emoji/1f424.png diff --git a/web/static/images/emoji/1f425.png b/web/static/images/emoji/1f425.png Binary files differnew file mode 100644 index 000000000..de82199dc --- /dev/null +++ b/web/static/images/emoji/1f425.png diff --git a/web/static/images/emoji/1f426.png b/web/static/images/emoji/1f426.png Binary files differnew file mode 100644 index 000000000..077178a42 --- /dev/null +++ b/web/static/images/emoji/1f426.png diff --git a/web/static/images/emoji/1f427.png b/web/static/images/emoji/1f427.png Binary files differnew file mode 100644 index 000000000..1789bf222 --- /dev/null +++ b/web/static/images/emoji/1f427.png diff --git a/web/static/images/emoji/1f428.png b/web/static/images/emoji/1f428.png Binary files differnew file mode 100644 index 000000000..928143905 --- /dev/null +++ b/web/static/images/emoji/1f428.png diff --git a/web/static/images/emoji/1f429.png b/web/static/images/emoji/1f429.png Binary files differnew file mode 100644 index 000000000..a69f6388d --- /dev/null +++ b/web/static/images/emoji/1f429.png diff --git a/web/static/images/emoji/1f42a.png b/web/static/images/emoji/1f42a.png Binary files differnew file mode 100644 index 000000000..e881a8b5f --- /dev/null +++ b/web/static/images/emoji/1f42a.png diff --git a/web/static/images/emoji/1f42b.png b/web/static/images/emoji/1f42b.png Binary files differnew file mode 100644 index 000000000..f332bf333 --- /dev/null +++ b/web/static/images/emoji/1f42b.png diff --git a/web/static/images/emoji/1f42c.png b/web/static/images/emoji/1f42c.png Binary files differnew file mode 100644 index 000000000..4dde4cc13 --- /dev/null +++ b/web/static/images/emoji/1f42c.png diff --git a/web/static/images/emoji/1f42d.png b/web/static/images/emoji/1f42d.png Binary files differnew file mode 100644 index 000000000..a8e5eb73f --- /dev/null +++ b/web/static/images/emoji/1f42d.png diff --git a/web/static/images/emoji/1f42e.png b/web/static/images/emoji/1f42e.png Binary files differnew file mode 100644 index 000000000..15196a069 --- /dev/null +++ b/web/static/images/emoji/1f42e.png diff --git a/web/static/images/emoji/1f42f.png b/web/static/images/emoji/1f42f.png Binary files differnew file mode 100644 index 000000000..64a19cd61 --- /dev/null +++ b/web/static/images/emoji/1f42f.png diff --git a/web/static/images/emoji/1f430.png b/web/static/images/emoji/1f430.png Binary files differnew file mode 100644 index 000000000..e6203c052 --- /dev/null +++ b/web/static/images/emoji/1f430.png diff --git a/web/static/images/emoji/1f431.png b/web/static/images/emoji/1f431.png Binary files differnew file mode 100644 index 000000000..126d2ef79 --- /dev/null +++ b/web/static/images/emoji/1f431.png diff --git a/web/static/images/emoji/1f432.png b/web/static/images/emoji/1f432.png Binary files differnew file mode 100644 index 000000000..aba3bd471 --- /dev/null +++ b/web/static/images/emoji/1f432.png diff --git a/web/static/images/emoji/1f433.png b/web/static/images/emoji/1f433.png Binary files differnew file mode 100644 index 000000000..cf1ecee86 --- /dev/null +++ b/web/static/images/emoji/1f433.png diff --git a/web/static/images/emoji/1f434.png b/web/static/images/emoji/1f434.png Binary files differnew file mode 100644 index 000000000..90b955506 --- /dev/null +++ b/web/static/images/emoji/1f434.png diff --git a/web/static/images/emoji/1f435.png b/web/static/images/emoji/1f435.png Binary files differnew file mode 100644 index 000000000..a753bae1c --- /dev/null +++ b/web/static/images/emoji/1f435.png diff --git a/web/static/images/emoji/1f436.png b/web/static/images/emoji/1f436.png Binary files differnew file mode 100644 index 000000000..3c107deb4 --- /dev/null +++ b/web/static/images/emoji/1f436.png diff --git a/web/static/images/emoji/1f437.png b/web/static/images/emoji/1f437.png Binary files differnew file mode 100644 index 000000000..e2ef71cc0 --- /dev/null +++ b/web/static/images/emoji/1f437.png diff --git a/web/static/images/emoji/1f438.png b/web/static/images/emoji/1f438.png Binary files differnew file mode 100644 index 000000000..726d0280b --- /dev/null +++ b/web/static/images/emoji/1f438.png diff --git a/web/static/images/emoji/1f439.png b/web/static/images/emoji/1f439.png Binary files differnew file mode 100644 index 000000000..b19be3738 --- /dev/null +++ b/web/static/images/emoji/1f439.png diff --git a/web/static/images/emoji/1f43a.png b/web/static/images/emoji/1f43a.png Binary files differnew file mode 100644 index 000000000..46f054c62 --- /dev/null +++ b/web/static/images/emoji/1f43a.png diff --git a/web/static/images/emoji/1f43b.png b/web/static/images/emoji/1f43b.png Binary files differnew file mode 100644 index 000000000..32387186f --- /dev/null +++ b/web/static/images/emoji/1f43b.png diff --git a/web/static/images/emoji/1f43c.png b/web/static/images/emoji/1f43c.png Binary files differnew file mode 100644 index 000000000..a1ded2a6c --- /dev/null +++ b/web/static/images/emoji/1f43c.png diff --git a/web/static/images/emoji/1f43d.png b/web/static/images/emoji/1f43d.png Binary files differnew file mode 100644 index 000000000..a704c5a41 --- /dev/null +++ b/web/static/images/emoji/1f43d.png diff --git a/web/static/images/emoji/1f43e.png b/web/static/images/emoji/1f43e.png Binary files differnew file mode 100644 index 000000000..b36eba864 --- /dev/null +++ b/web/static/images/emoji/1f43e.png diff --git a/web/static/images/emoji/1f43f.png b/web/static/images/emoji/1f43f.png Binary files differnew file mode 100644 index 000000000..2881d09be --- /dev/null +++ b/web/static/images/emoji/1f43f.png diff --git a/web/static/images/emoji/1f440.png b/web/static/images/emoji/1f440.png Binary files differnew file mode 100644 index 000000000..d9a6163f4 --- /dev/null +++ b/web/static/images/emoji/1f440.png diff --git a/web/static/images/emoji/1f441.png b/web/static/images/emoji/1f441.png Binary files differnew file mode 100644 index 000000000..66182c9f1 --- /dev/null +++ b/web/static/images/emoji/1f441.png diff --git a/web/static/images/emoji/1f442.png b/web/static/images/emoji/1f442.png Binary files differnew file mode 100644 index 000000000..a29807228 --- /dev/null +++ b/web/static/images/emoji/1f442.png diff --git a/web/static/images/emoji/1f443.png b/web/static/images/emoji/1f443.png Binary files differnew file mode 100644 index 000000000..f3d289014 --- /dev/null +++ b/web/static/images/emoji/1f443.png diff --git a/web/static/images/emoji/1f444.png b/web/static/images/emoji/1f444.png Binary files differnew file mode 100644 index 000000000..9b2e494bd --- /dev/null +++ b/web/static/images/emoji/1f444.png diff --git a/web/static/images/emoji/1f445.png b/web/static/images/emoji/1f445.png Binary files differnew file mode 100644 index 000000000..67ea886c6 --- /dev/null +++ b/web/static/images/emoji/1f445.png diff --git a/web/static/images/emoji/1f446.png b/web/static/images/emoji/1f446.png Binary files differnew file mode 100644 index 000000000..85b802a99 --- /dev/null +++ b/web/static/images/emoji/1f446.png diff --git a/web/static/images/emoji/1f447.png b/web/static/images/emoji/1f447.png Binary files differnew file mode 100644 index 000000000..7eeae2d5d --- /dev/null +++ b/web/static/images/emoji/1f447.png diff --git a/web/static/images/emoji/1f448.png b/web/static/images/emoji/1f448.png Binary files differnew file mode 100644 index 000000000..4a8f90556 --- /dev/null +++ b/web/static/images/emoji/1f448.png diff --git a/web/static/images/emoji/1f449.png b/web/static/images/emoji/1f449.png Binary files differnew file mode 100644 index 000000000..b2e387878 --- /dev/null +++ b/web/static/images/emoji/1f449.png diff --git a/web/static/images/emoji/1f44a.png b/web/static/images/emoji/1f44a.png Binary files differnew file mode 100644 index 000000000..7d10b3eda --- /dev/null +++ b/web/static/images/emoji/1f44a.png diff --git a/web/static/images/emoji/1f44b.png b/web/static/images/emoji/1f44b.png Binary files differnew file mode 100644 index 000000000..8a7086bd0 --- /dev/null +++ b/web/static/images/emoji/1f44b.png diff --git a/web/static/images/emoji/1f44c.png b/web/static/images/emoji/1f44c.png Binary files differnew file mode 100644 index 000000000..bf84e0df4 --- /dev/null +++ b/web/static/images/emoji/1f44c.png diff --git a/web/static/images/emoji/1f44d.png b/web/static/images/emoji/1f44d.png Binary files differnew file mode 100644 index 000000000..26949329f --- /dev/null +++ b/web/static/images/emoji/1f44d.png diff --git a/web/static/images/emoji/1f44e.png b/web/static/images/emoji/1f44e.png Binary files differnew file mode 100644 index 000000000..9b6d251b5 --- /dev/null +++ b/web/static/images/emoji/1f44e.png diff --git a/web/static/images/emoji/1f44f.png b/web/static/images/emoji/1f44f.png Binary files differnew file mode 100644 index 000000000..ccb725e96 --- /dev/null +++ b/web/static/images/emoji/1f44f.png diff --git a/web/static/images/emoji/1f450.png b/web/static/images/emoji/1f450.png Binary files differnew file mode 100644 index 000000000..c8eb0bab5 --- /dev/null +++ b/web/static/images/emoji/1f450.png diff --git a/web/static/images/emoji/1f451.png b/web/static/images/emoji/1f451.png Binary files differnew file mode 100644 index 000000000..54ca7998c --- /dev/null +++ b/web/static/images/emoji/1f451.png diff --git a/web/static/images/emoji/1f452.png b/web/static/images/emoji/1f452.png Binary files differnew file mode 100644 index 000000000..33af561b3 --- /dev/null +++ b/web/static/images/emoji/1f452.png diff --git a/web/static/images/emoji/1f453.png b/web/static/images/emoji/1f453.png Binary files differnew file mode 100644 index 000000000..f1f4612ba --- /dev/null +++ b/web/static/images/emoji/1f453.png diff --git a/web/static/images/emoji/1f454.png b/web/static/images/emoji/1f454.png Binary files differnew file mode 100644 index 000000000..3ed0339bf --- /dev/null +++ b/web/static/images/emoji/1f454.png diff --git a/web/static/images/emoji/1f455.png b/web/static/images/emoji/1f455.png Binary files differnew file mode 100644 index 000000000..556efde26 --- /dev/null +++ b/web/static/images/emoji/1f455.png diff --git a/web/static/images/emoji/1f456.png b/web/static/images/emoji/1f456.png Binary files differnew file mode 100644 index 000000000..f1a83c4d2 --- /dev/null +++ b/web/static/images/emoji/1f456.png diff --git a/web/static/images/emoji/1f457.png b/web/static/images/emoji/1f457.png Binary files differnew file mode 100644 index 000000000..512fe8bfe --- /dev/null +++ b/web/static/images/emoji/1f457.png diff --git a/web/static/images/emoji/1f458.png b/web/static/images/emoji/1f458.png Binary files differnew file mode 100644 index 000000000..1cbdea0b1 --- /dev/null +++ b/web/static/images/emoji/1f458.png diff --git a/web/static/images/emoji/1f459.png b/web/static/images/emoji/1f459.png Binary files differnew file mode 100644 index 000000000..62d142f31 --- /dev/null +++ b/web/static/images/emoji/1f459.png diff --git a/web/static/images/emoji/1f45a.png b/web/static/images/emoji/1f45a.png Binary files differnew file mode 100644 index 000000000..1a5494267 --- /dev/null +++ b/web/static/images/emoji/1f45a.png diff --git a/web/static/images/emoji/1f45b.png b/web/static/images/emoji/1f45b.png Binary files differnew file mode 100644 index 000000000..da09a41a3 --- /dev/null +++ b/web/static/images/emoji/1f45b.png diff --git a/web/static/images/emoji/1f45c.png b/web/static/images/emoji/1f45c.png Binary files differnew file mode 100644 index 000000000..556688787 --- /dev/null +++ b/web/static/images/emoji/1f45c.png diff --git a/web/static/images/emoji/1f45d.png b/web/static/images/emoji/1f45d.png Binary files differnew file mode 100644 index 000000000..d8e54dd7c --- /dev/null +++ b/web/static/images/emoji/1f45d.png diff --git a/web/static/images/emoji/1f45e.png b/web/static/images/emoji/1f45e.png Binary files differnew file mode 100644 index 000000000..8d8a9feeb --- /dev/null +++ b/web/static/images/emoji/1f45e.png diff --git a/web/static/images/emoji/1f45f.png b/web/static/images/emoji/1f45f.png Binary files differnew file mode 100644 index 000000000..e2cd2d3d4 --- /dev/null +++ b/web/static/images/emoji/1f45f.png diff --git a/web/static/images/emoji/1f460.png b/web/static/images/emoji/1f460.png Binary files differnew file mode 100644 index 000000000..36bdb7484 --- /dev/null +++ b/web/static/images/emoji/1f460.png diff --git a/web/static/images/emoji/1f461.png b/web/static/images/emoji/1f461.png Binary files differnew file mode 100644 index 000000000..1db7005bb --- /dev/null +++ b/web/static/images/emoji/1f461.png diff --git a/web/static/images/emoji/1f462.png b/web/static/images/emoji/1f462.png Binary files differnew file mode 100644 index 000000000..856256d5b --- /dev/null +++ b/web/static/images/emoji/1f462.png diff --git a/web/static/images/emoji/1f463.png b/web/static/images/emoji/1f463.png Binary files differnew file mode 100644 index 000000000..95c26fc9d --- /dev/null +++ b/web/static/images/emoji/1f463.png diff --git a/web/static/images/emoji/1f464.png b/web/static/images/emoji/1f464.png Binary files differnew file mode 100644 index 000000000..db3a468fc --- /dev/null +++ b/web/static/images/emoji/1f464.png diff --git a/web/static/images/emoji/1f465.png b/web/static/images/emoji/1f465.png Binary files differnew file mode 100644 index 000000000..f6018ac0e --- /dev/null +++ b/web/static/images/emoji/1f465.png diff --git a/web/static/images/emoji/1f466.png b/web/static/images/emoji/1f466.png Binary files differnew file mode 100644 index 000000000..ddcf29ca6 --- /dev/null +++ b/web/static/images/emoji/1f466.png diff --git a/web/static/images/emoji/1f467.png b/web/static/images/emoji/1f467.png Binary files differnew file mode 100644 index 000000000..9f91cef4c --- /dev/null +++ b/web/static/images/emoji/1f467.png diff --git a/web/static/images/emoji/1f468-1f468-1f466-1f466.png b/web/static/images/emoji/1f468-1f468-1f466-1f466.png Binary files differnew file mode 100644 index 000000000..a9121ff1b --- /dev/null +++ b/web/static/images/emoji/1f468-1f468-1f466-1f466.png diff --git a/web/static/images/emoji/1f468-1f468-1f466.png b/web/static/images/emoji/1f468-1f468-1f466.png Binary files differnew file mode 100644 index 000000000..9856feb47 --- /dev/null +++ b/web/static/images/emoji/1f468-1f468-1f466.png diff --git a/web/static/images/emoji/1f468-1f468-1f467-1f466.png b/web/static/images/emoji/1f468-1f468-1f467-1f466.png Binary files differnew file mode 100644 index 000000000..f836007e2 --- /dev/null +++ b/web/static/images/emoji/1f468-1f468-1f467-1f466.png diff --git a/web/static/images/emoji/1f468-1f468-1f467-1f467.png b/web/static/images/emoji/1f468-1f468-1f467-1f467.png Binary files differnew file mode 100644 index 000000000..a62651445 --- /dev/null +++ b/web/static/images/emoji/1f468-1f468-1f467-1f467.png diff --git a/web/static/images/emoji/1f468-1f468-1f467.png b/web/static/images/emoji/1f468-1f468-1f467.png Binary files differnew file mode 100644 index 000000000..1af8f4e12 --- /dev/null +++ b/web/static/images/emoji/1f468-1f468-1f467.png diff --git a/web/static/images/emoji/1f468-1f469-1f466-1f466.png b/web/static/images/emoji/1f468-1f469-1f466-1f466.png Binary files differnew file mode 100644 index 000000000..1fc8a8d25 --- /dev/null +++ b/web/static/images/emoji/1f468-1f469-1f466-1f466.png diff --git a/web/static/images/emoji/1f468-1f469-1f467-1f466.png b/web/static/images/emoji/1f468-1f469-1f467-1f466.png Binary files differnew file mode 100644 index 000000000..be122e039 --- /dev/null +++ b/web/static/images/emoji/1f468-1f469-1f467-1f466.png diff --git a/web/static/images/emoji/1f468-1f469-1f467-1f467.png b/web/static/images/emoji/1f468-1f469-1f467-1f467.png Binary files differnew file mode 100644 index 000000000..4c9f3f0ef --- /dev/null +++ b/web/static/images/emoji/1f468-1f469-1f467-1f467.png diff --git a/web/static/images/emoji/1f468-1f469-1f467.png b/web/static/images/emoji/1f468-1f469-1f467.png Binary files differnew file mode 100644 index 000000000..8df6f0456 --- /dev/null +++ b/web/static/images/emoji/1f468-1f469-1f467.png diff --git a/web/static/images/emoji/1f468-2764-1f468.png b/web/static/images/emoji/1f468-2764-1f468.png Binary files differnew file mode 100644 index 000000000..8975118f7 --- /dev/null +++ b/web/static/images/emoji/1f468-2764-1f468.png diff --git a/web/static/images/emoji/1f468-2764-1f48b-1f468.png b/web/static/images/emoji/1f468-2764-1f48b-1f468.png Binary files differnew file mode 100644 index 000000000..1afc5e2c1 --- /dev/null +++ b/web/static/images/emoji/1f468-2764-1f48b-1f468.png diff --git a/web/static/images/emoji/1f468.png b/web/static/images/emoji/1f468.png Binary files differnew file mode 100644 index 000000000..8efb7f43b --- /dev/null +++ b/web/static/images/emoji/1f468.png diff --git a/web/static/images/emoji/1f469-1f469-1f466-1f466.png b/web/static/images/emoji/1f469-1f469-1f466-1f466.png Binary files differnew file mode 100644 index 000000000..3b7515300 --- /dev/null +++ b/web/static/images/emoji/1f469-1f469-1f466-1f466.png diff --git a/web/static/images/emoji/1f469-1f469-1f466.png b/web/static/images/emoji/1f469-1f469-1f466.png Binary files differnew file mode 100644 index 000000000..c2b883efb --- /dev/null +++ b/web/static/images/emoji/1f469-1f469-1f466.png diff --git a/web/static/images/emoji/1f469-1f469-1f467-1f466.png b/web/static/images/emoji/1f469-1f469-1f467-1f466.png Binary files differnew file mode 100644 index 000000000..65f48dae5 --- /dev/null +++ b/web/static/images/emoji/1f469-1f469-1f467-1f466.png diff --git a/web/static/images/emoji/1f469-1f469-1f467-1f467.png b/web/static/images/emoji/1f469-1f469-1f467-1f467.png Binary files differnew file mode 100644 index 000000000..1a6e89c65 --- /dev/null +++ b/web/static/images/emoji/1f469-1f469-1f467-1f467.png diff --git a/web/static/images/emoji/1f469-1f469-1f467.png b/web/static/images/emoji/1f469-1f469-1f467.png Binary files differnew file mode 100644 index 000000000..b6e8aad2d --- /dev/null +++ b/web/static/images/emoji/1f469-1f469-1f467.png diff --git a/web/static/images/emoji/1f469-2764-1f469.png b/web/static/images/emoji/1f469-2764-1f469.png Binary files differnew file mode 100644 index 000000000..a58f61b54 --- /dev/null +++ b/web/static/images/emoji/1f469-2764-1f469.png diff --git a/web/static/images/emoji/1f469-2764-1f48b-1f469.png b/web/static/images/emoji/1f469-2764-1f48b-1f469.png Binary files differnew file mode 100644 index 000000000..4c6a10699 --- /dev/null +++ b/web/static/images/emoji/1f469-2764-1f48b-1f469.png diff --git a/web/static/images/emoji/1f469.png b/web/static/images/emoji/1f469.png Binary files differnew file mode 100644 index 000000000..72f7d61e2 --- /dev/null +++ b/web/static/images/emoji/1f469.png diff --git a/web/static/images/emoji/1f46a.png b/web/static/images/emoji/1f46a.png Binary files differnew file mode 100644 index 000000000..e0d81ddb7 --- /dev/null +++ b/web/static/images/emoji/1f46a.png diff --git a/web/static/images/emoji/1f46b.png b/web/static/images/emoji/1f46b.png Binary files differnew file mode 100644 index 000000000..616f8520b --- /dev/null +++ b/web/static/images/emoji/1f46b.png diff --git a/web/static/images/emoji/1f46c.png b/web/static/images/emoji/1f46c.png Binary files differnew file mode 100644 index 000000000..6d223a144 --- /dev/null +++ b/web/static/images/emoji/1f46c.png diff --git a/web/static/images/emoji/1f46d.png b/web/static/images/emoji/1f46d.png Binary files differnew file mode 100644 index 000000000..313e73c7d --- /dev/null +++ b/web/static/images/emoji/1f46d.png diff --git a/web/static/images/emoji/1f46e.png b/web/static/images/emoji/1f46e.png Binary files differnew file mode 100644 index 000000000..818cab806 --- /dev/null +++ b/web/static/images/emoji/1f46e.png diff --git a/web/static/images/emoji/1f46f.png b/web/static/images/emoji/1f46f.png Binary files differnew file mode 100644 index 000000000..8829c0e87 --- /dev/null +++ b/web/static/images/emoji/1f46f.png diff --git a/web/static/images/emoji/1f470.png b/web/static/images/emoji/1f470.png Binary files differnew file mode 100644 index 000000000..a19e3389e --- /dev/null +++ b/web/static/images/emoji/1f470.png diff --git a/web/static/images/emoji/1f471.png b/web/static/images/emoji/1f471.png Binary files differnew file mode 100644 index 000000000..7cd2e8766 --- /dev/null +++ b/web/static/images/emoji/1f471.png diff --git a/web/static/images/emoji/1f472.png b/web/static/images/emoji/1f472.png Binary files differnew file mode 100644 index 000000000..bd01585c4 --- /dev/null +++ b/web/static/images/emoji/1f472.png diff --git a/web/static/images/emoji/1f473.png b/web/static/images/emoji/1f473.png Binary files differnew file mode 100644 index 000000000..e968c78fe --- /dev/null +++ b/web/static/images/emoji/1f473.png diff --git a/web/static/images/emoji/1f474.png b/web/static/images/emoji/1f474.png Binary files differnew file mode 100644 index 000000000..18fbbdde8 --- /dev/null +++ b/web/static/images/emoji/1f474.png diff --git a/web/static/images/emoji/1f475.png b/web/static/images/emoji/1f475.png Binary files differnew file mode 100644 index 000000000..0848ebe92 --- /dev/null +++ b/web/static/images/emoji/1f475.png diff --git a/web/static/images/emoji/1f476.png b/web/static/images/emoji/1f476.png Binary files differnew file mode 100644 index 000000000..7bfa3d4b5 --- /dev/null +++ b/web/static/images/emoji/1f476.png diff --git a/web/static/images/emoji/1f477.png b/web/static/images/emoji/1f477.png Binary files differnew file mode 100644 index 000000000..862e51f40 --- /dev/null +++ b/web/static/images/emoji/1f477.png diff --git a/web/static/images/emoji/1f478.png b/web/static/images/emoji/1f478.png Binary files differnew file mode 100644 index 000000000..a8b0ff903 --- /dev/null +++ b/web/static/images/emoji/1f478.png diff --git a/web/static/images/emoji/1f479.png b/web/static/images/emoji/1f479.png Binary files differnew file mode 100644 index 000000000..fd1cab65f --- /dev/null +++ b/web/static/images/emoji/1f479.png diff --git a/web/static/images/emoji/1f47a.png b/web/static/images/emoji/1f47a.png Binary files differnew file mode 100644 index 000000000..20e1b4eb5 --- /dev/null +++ b/web/static/images/emoji/1f47a.png diff --git a/web/static/images/emoji/1f47b.png b/web/static/images/emoji/1f47b.png Binary files differnew file mode 100644 index 000000000..3138f36fd --- /dev/null +++ b/web/static/images/emoji/1f47b.png diff --git a/web/static/images/emoji/1f47c.png b/web/static/images/emoji/1f47c.png Binary files differnew file mode 100644 index 000000000..46546001f --- /dev/null +++ b/web/static/images/emoji/1f47c.png diff --git a/web/static/images/emoji/1f47d.png b/web/static/images/emoji/1f47d.png Binary files differnew file mode 100644 index 000000000..6d0fc8399 --- /dev/null +++ b/web/static/images/emoji/1f47d.png diff --git a/web/static/images/emoji/1f47e.png b/web/static/images/emoji/1f47e.png Binary files differnew file mode 100644 index 000000000..042bc2ad0 --- /dev/null +++ b/web/static/images/emoji/1f47e.png diff --git a/web/static/images/emoji/1f47f.png b/web/static/images/emoji/1f47f.png Binary files differnew file mode 100644 index 000000000..bb31a6212 --- /dev/null +++ b/web/static/images/emoji/1f47f.png diff --git a/web/static/images/emoji/1f480.png b/web/static/images/emoji/1f480.png Binary files differnew file mode 100644 index 000000000..ee66d7147 --- /dev/null +++ b/web/static/images/emoji/1f480.png diff --git a/web/static/images/emoji/1f481.png b/web/static/images/emoji/1f481.png Binary files differnew file mode 100644 index 000000000..ffe0ab71f --- /dev/null +++ b/web/static/images/emoji/1f481.png diff --git a/web/static/images/emoji/1f482.png b/web/static/images/emoji/1f482.png Binary files differnew file mode 100644 index 000000000..f7f0464cd --- /dev/null +++ b/web/static/images/emoji/1f482.png diff --git a/web/static/images/emoji/1f483.png b/web/static/images/emoji/1f483.png Binary files differnew file mode 100644 index 000000000..8e3c67dd2 --- /dev/null +++ b/web/static/images/emoji/1f483.png diff --git a/web/static/images/emoji/1f484.png b/web/static/images/emoji/1f484.png Binary files differnew file mode 100644 index 000000000..79421767b --- /dev/null +++ b/web/static/images/emoji/1f484.png diff --git a/web/static/images/emoji/1f485.png b/web/static/images/emoji/1f485.png Binary files differnew file mode 100644 index 000000000..279881c26 --- /dev/null +++ b/web/static/images/emoji/1f485.png diff --git a/web/static/images/emoji/1f486.png b/web/static/images/emoji/1f486.png Binary files differnew file mode 100644 index 000000000..4890c3395 --- /dev/null +++ b/web/static/images/emoji/1f486.png diff --git a/web/static/images/emoji/1f487.png b/web/static/images/emoji/1f487.png Binary files differnew file mode 100644 index 000000000..40fbd31c4 --- /dev/null +++ b/web/static/images/emoji/1f487.png diff --git a/web/static/images/emoji/1f488.png b/web/static/images/emoji/1f488.png Binary files differnew file mode 100644 index 000000000..e2267ff8f --- /dev/null +++ b/web/static/images/emoji/1f488.png diff --git a/web/static/images/emoji/1f489.png b/web/static/images/emoji/1f489.png Binary files differnew file mode 100644 index 000000000..1e7f23ebf --- /dev/null +++ b/web/static/images/emoji/1f489.png diff --git a/web/static/images/emoji/1f48a.png b/web/static/images/emoji/1f48a.png Binary files differnew file mode 100644 index 000000000..260e44588 --- /dev/null +++ b/web/static/images/emoji/1f48a.png diff --git a/web/static/images/emoji/1f48b.png b/web/static/images/emoji/1f48b.png Binary files differnew file mode 100644 index 000000000..bc4c8f73a --- /dev/null +++ b/web/static/images/emoji/1f48b.png diff --git a/web/static/images/emoji/1f48c.png b/web/static/images/emoji/1f48c.png Binary files differnew file mode 100644 index 000000000..853204d48 --- /dev/null +++ b/web/static/images/emoji/1f48c.png diff --git a/web/static/images/emoji/1f48d.png b/web/static/images/emoji/1f48d.png Binary files differnew file mode 100644 index 000000000..f033d7941 --- /dev/null +++ b/web/static/images/emoji/1f48d.png diff --git a/web/static/images/emoji/1f48e.png b/web/static/images/emoji/1f48e.png Binary files differnew file mode 100644 index 000000000..a24a082a7 --- /dev/null +++ b/web/static/images/emoji/1f48e.png diff --git a/web/static/images/emoji/1f48f.png b/web/static/images/emoji/1f48f.png Binary files differnew file mode 100644 index 000000000..0280fba18 --- /dev/null +++ b/web/static/images/emoji/1f48f.png diff --git a/web/static/images/emoji/1f490.png b/web/static/images/emoji/1f490.png Binary files differnew file mode 100644 index 000000000..e42118f7f --- /dev/null +++ b/web/static/images/emoji/1f490.png diff --git a/web/static/images/emoji/1f491.png b/web/static/images/emoji/1f491.png Binary files differnew file mode 100644 index 000000000..44d4e18bd --- /dev/null +++ b/web/static/images/emoji/1f491.png diff --git a/web/static/images/emoji/1f492.png b/web/static/images/emoji/1f492.png Binary files differnew file mode 100644 index 000000000..dda4a140f --- /dev/null +++ b/web/static/images/emoji/1f492.png diff --git a/web/static/images/emoji/1f493.png b/web/static/images/emoji/1f493.png Binary files differnew file mode 100644 index 000000000..43a365e95 --- /dev/null +++ b/web/static/images/emoji/1f493.png diff --git a/web/static/images/emoji/1f494.png b/web/static/images/emoji/1f494.png Binary files differnew file mode 100644 index 000000000..b7ee9b4e5 --- /dev/null +++ b/web/static/images/emoji/1f494.png diff --git a/web/static/images/emoji/1f495.png b/web/static/images/emoji/1f495.png Binary files differnew file mode 100644 index 000000000..48f8d88d2 --- /dev/null +++ b/web/static/images/emoji/1f495.png diff --git a/web/static/images/emoji/1f496.png b/web/static/images/emoji/1f496.png Binary files differnew file mode 100644 index 000000000..0bfffc4ca --- /dev/null +++ b/web/static/images/emoji/1f496.png diff --git a/web/static/images/emoji/1f497.png b/web/static/images/emoji/1f497.png Binary files differnew file mode 100644 index 000000000..b3d5da2e3 --- /dev/null +++ b/web/static/images/emoji/1f497.png diff --git a/web/static/images/emoji/1f498.png b/web/static/images/emoji/1f498.png Binary files differnew file mode 100644 index 000000000..49260219c --- /dev/null +++ b/web/static/images/emoji/1f498.png diff --git a/web/static/images/emoji/1f499.png b/web/static/images/emoji/1f499.png Binary files differnew file mode 100644 index 000000000..494ab723e --- /dev/null +++ b/web/static/images/emoji/1f499.png diff --git a/web/static/images/emoji/1f49a.png b/web/static/images/emoji/1f49a.png Binary files differnew file mode 100644 index 000000000..87b1d21c3 --- /dev/null +++ b/web/static/images/emoji/1f49a.png diff --git a/web/static/images/emoji/1f49b.png b/web/static/images/emoji/1f49b.png Binary files differnew file mode 100644 index 000000000..2deb5e6ce --- /dev/null +++ b/web/static/images/emoji/1f49b.png diff --git a/web/static/images/emoji/1f49c.png b/web/static/images/emoji/1f49c.png Binary files differnew file mode 100644 index 000000000..97bb564a1 --- /dev/null +++ b/web/static/images/emoji/1f49c.png diff --git a/web/static/images/emoji/1f49d.png b/web/static/images/emoji/1f49d.png Binary files differnew file mode 100644 index 000000000..eb0292da0 --- /dev/null +++ b/web/static/images/emoji/1f49d.png diff --git a/web/static/images/emoji/1f49e.png b/web/static/images/emoji/1f49e.png Binary files differnew file mode 100644 index 000000000..0602d03c1 --- /dev/null +++ b/web/static/images/emoji/1f49e.png diff --git a/web/static/images/emoji/1f49f.png b/web/static/images/emoji/1f49f.png Binary files differnew file mode 100644 index 000000000..da8a1339b --- /dev/null +++ b/web/static/images/emoji/1f49f.png diff --git a/web/static/images/emoji/1f4a0.png b/web/static/images/emoji/1f4a0.png Binary files differnew file mode 100644 index 000000000..6aec6cb19 --- /dev/null +++ b/web/static/images/emoji/1f4a0.png diff --git a/web/static/images/emoji/1f4a1.png b/web/static/images/emoji/1f4a1.png Binary files differnew file mode 100644 index 000000000..7596c82a7 --- /dev/null +++ b/web/static/images/emoji/1f4a1.png diff --git a/web/static/images/emoji/1f4a2.png b/web/static/images/emoji/1f4a2.png Binary files differnew file mode 100644 index 000000000..f69aa08d4 --- /dev/null +++ b/web/static/images/emoji/1f4a2.png diff --git a/web/static/images/emoji/1f4a3.png b/web/static/images/emoji/1f4a3.png Binary files differnew file mode 100644 index 000000000..774c5c91e --- /dev/null +++ b/web/static/images/emoji/1f4a3.png diff --git a/web/static/images/emoji/1f4a4.png b/web/static/images/emoji/1f4a4.png Binary files differnew file mode 100644 index 000000000..05e245f20 --- /dev/null +++ b/web/static/images/emoji/1f4a4.png diff --git a/web/static/images/emoji/1f4a5.png b/web/static/images/emoji/1f4a5.png Binary files differnew file mode 100644 index 000000000..98a69a628 --- /dev/null +++ b/web/static/images/emoji/1f4a5.png diff --git a/web/static/images/emoji/1f4a6.png b/web/static/images/emoji/1f4a6.png Binary files differnew file mode 100644 index 000000000..81205fb52 --- /dev/null +++ b/web/static/images/emoji/1f4a6.png diff --git a/web/static/images/emoji/1f4a7.png b/web/static/images/emoji/1f4a7.png Binary files differnew file mode 100644 index 000000000..074982362 --- /dev/null +++ b/web/static/images/emoji/1f4a7.png diff --git a/web/static/images/emoji/1f4a8.png b/web/static/images/emoji/1f4a8.png Binary files differnew file mode 100644 index 000000000..d58c22281 --- /dev/null +++ b/web/static/images/emoji/1f4a8.png diff --git a/web/static/images/emoji/1f4a9.png b/web/static/images/emoji/1f4a9.png Binary files differnew file mode 100644 index 000000000..0c237a788 --- /dev/null +++ b/web/static/images/emoji/1f4a9.png diff --git a/web/static/images/emoji/1f4aa.png b/web/static/images/emoji/1f4aa.png Binary files differnew file mode 100644 index 000000000..9300534fa --- /dev/null +++ b/web/static/images/emoji/1f4aa.png diff --git a/web/static/images/emoji/1f4ab.png b/web/static/images/emoji/1f4ab.png Binary files differnew file mode 100644 index 000000000..b6972196c --- /dev/null +++ b/web/static/images/emoji/1f4ab.png diff --git a/web/static/images/emoji/1f4ac.png b/web/static/images/emoji/1f4ac.png Binary files differnew file mode 100644 index 000000000..4f6449572 --- /dev/null +++ b/web/static/images/emoji/1f4ac.png diff --git a/web/static/images/emoji/1f4ad.png b/web/static/images/emoji/1f4ad.png Binary files differnew file mode 100644 index 000000000..0ccbc2e30 --- /dev/null +++ b/web/static/images/emoji/1f4ad.png diff --git a/web/static/images/emoji/1f4ae.png b/web/static/images/emoji/1f4ae.png Binary files differnew file mode 100644 index 000000000..6d1c47e91 --- /dev/null +++ b/web/static/images/emoji/1f4ae.png diff --git a/web/static/images/emoji/1f4af.png b/web/static/images/emoji/1f4af.png Binary files differnew file mode 100644 index 000000000..cd308ad66 --- /dev/null +++ b/web/static/images/emoji/1f4af.png diff --git a/web/static/images/emoji/1f4b0.png b/web/static/images/emoji/1f4b0.png Binary files differnew file mode 100644 index 000000000..a44896ab0 --- /dev/null +++ b/web/static/images/emoji/1f4b0.png diff --git a/web/static/images/emoji/1f4b1.png b/web/static/images/emoji/1f4b1.png Binary files differnew file mode 100644 index 000000000..7cdbde70c --- /dev/null +++ b/web/static/images/emoji/1f4b1.png diff --git a/web/static/images/emoji/1f4b2.png b/web/static/images/emoji/1f4b2.png Binary files differnew file mode 100644 index 000000000..10a5a4d8a --- /dev/null +++ b/web/static/images/emoji/1f4b2.png diff --git a/web/static/images/emoji/1f4b3.png b/web/static/images/emoji/1f4b3.png Binary files differnew file mode 100644 index 000000000..e41515bb7 --- /dev/null +++ b/web/static/images/emoji/1f4b3.png diff --git a/web/static/images/emoji/1f4b4.png b/web/static/images/emoji/1f4b4.png Binary files differnew file mode 100644 index 000000000..c0545520f --- /dev/null +++ b/web/static/images/emoji/1f4b4.png diff --git a/web/static/images/emoji/1f4b5.png b/web/static/images/emoji/1f4b5.png Binary files differnew file mode 100644 index 000000000..73843bf91 --- /dev/null +++ b/web/static/images/emoji/1f4b5.png diff --git a/web/static/images/emoji/1f4b6.png b/web/static/images/emoji/1f4b6.png Binary files differnew file mode 100644 index 000000000..4efcecc3c --- /dev/null +++ b/web/static/images/emoji/1f4b6.png diff --git a/web/static/images/emoji/1f4b7.png b/web/static/images/emoji/1f4b7.png Binary files differnew file mode 100644 index 000000000..555e0823f --- /dev/null +++ b/web/static/images/emoji/1f4b7.png diff --git a/web/static/images/emoji/1f4b8.png b/web/static/images/emoji/1f4b8.png Binary files differnew file mode 100644 index 000000000..46591e443 --- /dev/null +++ b/web/static/images/emoji/1f4b8.png diff --git a/web/static/images/emoji/1f4b9.png b/web/static/images/emoji/1f4b9.png Binary files differnew file mode 100644 index 000000000..6b7fb1cdd --- /dev/null +++ b/web/static/images/emoji/1f4b9.png diff --git a/web/static/images/emoji/1f4ba.png b/web/static/images/emoji/1f4ba.png Binary files differnew file mode 100644 index 000000000..1ec8166b6 --- /dev/null +++ b/web/static/images/emoji/1f4ba.png diff --git a/web/static/images/emoji/1f4bb.png b/web/static/images/emoji/1f4bb.png Binary files differnew file mode 100644 index 000000000..e23340a04 --- /dev/null +++ b/web/static/images/emoji/1f4bb.png diff --git a/web/static/images/emoji/1f4bc.png b/web/static/images/emoji/1f4bc.png Binary files differnew file mode 100644 index 000000000..49293eb0a --- /dev/null +++ b/web/static/images/emoji/1f4bc.png diff --git a/web/static/images/emoji/1f4bd.png b/web/static/images/emoji/1f4bd.png Binary files differnew file mode 100644 index 000000000..49d651f9e --- /dev/null +++ b/web/static/images/emoji/1f4bd.png diff --git a/web/static/images/emoji/1f4be.png b/web/static/images/emoji/1f4be.png Binary files differnew file mode 100644 index 000000000..f4e52bf1b --- /dev/null +++ b/web/static/images/emoji/1f4be.png diff --git a/web/static/images/emoji/1f4bf.png b/web/static/images/emoji/1f4bf.png Binary files differnew file mode 100644 index 000000000..10d5db668 --- /dev/null +++ b/web/static/images/emoji/1f4bf.png diff --git a/web/static/images/emoji/1f4c0.png b/web/static/images/emoji/1f4c0.png Binary files differnew file mode 100644 index 000000000..6f7b85774 --- /dev/null +++ b/web/static/images/emoji/1f4c0.png diff --git a/web/static/images/emoji/1f4c1.png b/web/static/images/emoji/1f4c1.png Binary files differnew file mode 100644 index 000000000..17adcfd26 --- /dev/null +++ b/web/static/images/emoji/1f4c1.png diff --git a/web/static/images/emoji/1f4c2.png b/web/static/images/emoji/1f4c2.png Binary files differnew file mode 100644 index 000000000..2d48340bf --- /dev/null +++ b/web/static/images/emoji/1f4c2.png diff --git a/web/static/images/emoji/1f4c3.png b/web/static/images/emoji/1f4c3.png Binary files differnew file mode 100644 index 000000000..306b7e4d7 --- /dev/null +++ b/web/static/images/emoji/1f4c3.png diff --git a/web/static/images/emoji/1f4c4.png b/web/static/images/emoji/1f4c4.png Binary files differnew file mode 100644 index 000000000..f3023ba74 --- /dev/null +++ b/web/static/images/emoji/1f4c4.png diff --git a/web/static/images/emoji/1f4c5.png b/web/static/images/emoji/1f4c5.png Binary files differnew file mode 100644 index 000000000..61308e816 --- /dev/null +++ b/web/static/images/emoji/1f4c5.png diff --git a/web/static/images/emoji/1f4c6.png b/web/static/images/emoji/1f4c6.png Binary files differnew file mode 100644 index 000000000..7b1845ab2 --- /dev/null +++ b/web/static/images/emoji/1f4c6.png diff --git a/web/static/images/emoji/1f4c7.png b/web/static/images/emoji/1f4c7.png Binary files differnew file mode 100644 index 000000000..84407de9e --- /dev/null +++ b/web/static/images/emoji/1f4c7.png diff --git a/web/static/images/emoji/1f4c8.png b/web/static/images/emoji/1f4c8.png Binary files differnew file mode 100644 index 000000000..74a525be1 --- /dev/null +++ b/web/static/images/emoji/1f4c8.png diff --git a/web/static/images/emoji/1f4c9.png b/web/static/images/emoji/1f4c9.png Binary files differnew file mode 100644 index 000000000..63ab4f0b4 --- /dev/null +++ b/web/static/images/emoji/1f4c9.png diff --git a/web/static/images/emoji/1f4ca.png b/web/static/images/emoji/1f4ca.png Binary files differnew file mode 100644 index 000000000..9b5a73c72 --- /dev/null +++ b/web/static/images/emoji/1f4ca.png diff --git a/web/static/images/emoji/1f4cb.png b/web/static/images/emoji/1f4cb.png Binary files differnew file mode 100644 index 000000000..7f50dfff7 --- /dev/null +++ b/web/static/images/emoji/1f4cb.png diff --git a/web/static/images/emoji/1f4cc.png b/web/static/images/emoji/1f4cc.png Binary files differnew file mode 100644 index 000000000..557ac45f0 --- /dev/null +++ b/web/static/images/emoji/1f4cc.png diff --git a/web/static/images/emoji/1f4cd.png b/web/static/images/emoji/1f4cd.png Binary files differnew file mode 100644 index 000000000..b16e5c41a --- /dev/null +++ b/web/static/images/emoji/1f4cd.png diff --git a/web/static/images/emoji/1f4ce.png b/web/static/images/emoji/1f4ce.png Binary files differnew file mode 100644 index 000000000..e241e1189 --- /dev/null +++ b/web/static/images/emoji/1f4ce.png diff --git a/web/static/images/emoji/1f4cf.png b/web/static/images/emoji/1f4cf.png Binary files differnew file mode 100644 index 000000000..42e7ac39c --- /dev/null +++ b/web/static/images/emoji/1f4cf.png diff --git a/web/static/images/emoji/1f4d0.png b/web/static/images/emoji/1f4d0.png Binary files differnew file mode 100644 index 000000000..b554c0625 --- /dev/null +++ b/web/static/images/emoji/1f4d0.png diff --git a/web/static/images/emoji/1f4d1.png b/web/static/images/emoji/1f4d1.png Binary files differnew file mode 100644 index 000000000..9cec88387 --- /dev/null +++ b/web/static/images/emoji/1f4d1.png diff --git a/web/static/images/emoji/1f4d2.png b/web/static/images/emoji/1f4d2.png Binary files differnew file mode 100644 index 000000000..b9a5484e4 --- /dev/null +++ b/web/static/images/emoji/1f4d2.png diff --git a/web/static/images/emoji/1f4d3.png b/web/static/images/emoji/1f4d3.png Binary files differnew file mode 100644 index 000000000..5ed4f4112 --- /dev/null +++ b/web/static/images/emoji/1f4d3.png diff --git a/web/static/images/emoji/1f4d4.png b/web/static/images/emoji/1f4d4.png Binary files differnew file mode 100644 index 000000000..839ee3e78 --- /dev/null +++ b/web/static/images/emoji/1f4d4.png diff --git a/web/static/images/emoji/1f4d5.png b/web/static/images/emoji/1f4d5.png Binary files differnew file mode 100644 index 000000000..e26390e0a --- /dev/null +++ b/web/static/images/emoji/1f4d5.png diff --git a/web/static/images/emoji/1f4d6.png b/web/static/images/emoji/1f4d6.png Binary files differnew file mode 100644 index 000000000..01c836a7e --- /dev/null +++ b/web/static/images/emoji/1f4d6.png diff --git a/web/static/images/emoji/1f4d7.png b/web/static/images/emoji/1f4d7.png Binary files differnew file mode 100644 index 000000000..8fa81b9ac --- /dev/null +++ b/web/static/images/emoji/1f4d7.png diff --git a/web/static/images/emoji/1f4d8.png b/web/static/images/emoji/1f4d8.png Binary files differnew file mode 100644 index 000000000..673bf2bdb --- /dev/null +++ b/web/static/images/emoji/1f4d8.png diff --git a/web/static/images/emoji/1f4d9.png b/web/static/images/emoji/1f4d9.png Binary files differnew file mode 100644 index 000000000..8ecfd9c10 --- /dev/null +++ b/web/static/images/emoji/1f4d9.png diff --git a/web/static/images/emoji/1f4da.png b/web/static/images/emoji/1f4da.png Binary files differnew file mode 100644 index 000000000..65abc1651 --- /dev/null +++ b/web/static/images/emoji/1f4da.png diff --git a/web/static/images/emoji/1f4db.png b/web/static/images/emoji/1f4db.png Binary files differnew file mode 100644 index 000000000..a1ffb38b3 --- /dev/null +++ b/web/static/images/emoji/1f4db.png diff --git a/web/static/images/emoji/1f4dc.png b/web/static/images/emoji/1f4dc.png Binary files differnew file mode 100644 index 000000000..c8ee30803 --- /dev/null +++ b/web/static/images/emoji/1f4dc.png diff --git a/web/static/images/emoji/1f4dd.png b/web/static/images/emoji/1f4dd.png Binary files differnew file mode 100644 index 000000000..61e5a08e6 --- /dev/null +++ b/web/static/images/emoji/1f4dd.png diff --git a/web/static/images/emoji/1f4de.png b/web/static/images/emoji/1f4de.png Binary files differnew file mode 100644 index 000000000..6a8259cb7 --- /dev/null +++ b/web/static/images/emoji/1f4de.png diff --git a/web/static/images/emoji/1f4df.png b/web/static/images/emoji/1f4df.png Binary files differnew file mode 100644 index 000000000..acfd131a0 --- /dev/null +++ b/web/static/images/emoji/1f4df.png diff --git a/web/static/images/emoji/1f4e0.png b/web/static/images/emoji/1f4e0.png Binary files differnew file mode 100644 index 000000000..10f81dad1 --- /dev/null +++ b/web/static/images/emoji/1f4e0.png diff --git a/web/static/images/emoji/1f4e1.png b/web/static/images/emoji/1f4e1.png Binary files differnew file mode 100644 index 000000000..7411b9235 --- /dev/null +++ b/web/static/images/emoji/1f4e1.png diff --git a/web/static/images/emoji/1f4e2.png b/web/static/images/emoji/1f4e2.png Binary files differnew file mode 100644 index 000000000..aaf588cd7 --- /dev/null +++ b/web/static/images/emoji/1f4e2.png diff --git a/web/static/images/emoji/1f4e3.png b/web/static/images/emoji/1f4e3.png Binary files differnew file mode 100644 index 000000000..51bc09152 --- /dev/null +++ b/web/static/images/emoji/1f4e3.png diff --git a/web/static/images/emoji/1f4e4.png b/web/static/images/emoji/1f4e4.png Binary files differnew file mode 100644 index 000000000..7afec2610 --- /dev/null +++ b/web/static/images/emoji/1f4e4.png diff --git a/web/static/images/emoji/1f4e5.png b/web/static/images/emoji/1f4e5.png Binary files differnew file mode 100644 index 000000000..266947ee9 --- /dev/null +++ b/web/static/images/emoji/1f4e5.png diff --git a/web/static/images/emoji/1f4e6.png b/web/static/images/emoji/1f4e6.png Binary files differnew file mode 100644 index 000000000..424c4fd19 --- /dev/null +++ b/web/static/images/emoji/1f4e6.png diff --git a/web/static/images/emoji/1f4e7.png b/web/static/images/emoji/1f4e7.png Binary files differnew file mode 100644 index 000000000..838ee67ed --- /dev/null +++ b/web/static/images/emoji/1f4e7.png diff --git a/web/static/images/emoji/1f4e8.png b/web/static/images/emoji/1f4e8.png Binary files differnew file mode 100644 index 000000000..b16ed051f --- /dev/null +++ b/web/static/images/emoji/1f4e8.png diff --git a/web/static/images/emoji/1f4e9.png b/web/static/images/emoji/1f4e9.png Binary files differnew file mode 100644 index 000000000..373cd8f0f --- /dev/null +++ b/web/static/images/emoji/1f4e9.png diff --git a/web/static/images/emoji/1f4ea.png b/web/static/images/emoji/1f4ea.png Binary files differnew file mode 100644 index 000000000..7a9f1e301 --- /dev/null +++ b/web/static/images/emoji/1f4ea.png diff --git a/web/static/images/emoji/1f4eb.png b/web/static/images/emoji/1f4eb.png Binary files differnew file mode 100644 index 000000000..5e3aa1019 --- /dev/null +++ b/web/static/images/emoji/1f4eb.png diff --git a/web/static/images/emoji/1f4ec.png b/web/static/images/emoji/1f4ec.png Binary files differnew file mode 100644 index 000000000..f8c7362a8 --- /dev/null +++ b/web/static/images/emoji/1f4ec.png diff --git a/web/static/images/emoji/1f4ed.png b/web/static/images/emoji/1f4ed.png Binary files differnew file mode 100644 index 000000000..a4b4797ee --- /dev/null +++ b/web/static/images/emoji/1f4ed.png diff --git a/web/static/images/emoji/1f4ee.png b/web/static/images/emoji/1f4ee.png Binary files differnew file mode 100644 index 000000000..1633e892c --- /dev/null +++ b/web/static/images/emoji/1f4ee.png diff --git a/web/static/images/emoji/1f4ef.png b/web/static/images/emoji/1f4ef.png Binary files differnew file mode 100644 index 000000000..2313eeb45 --- /dev/null +++ b/web/static/images/emoji/1f4ef.png diff --git a/web/static/images/emoji/1f4f0.png b/web/static/images/emoji/1f4f0.png Binary files differnew file mode 100644 index 000000000..ae5e31494 --- /dev/null +++ b/web/static/images/emoji/1f4f0.png diff --git a/web/static/images/emoji/1f4f1.png b/web/static/images/emoji/1f4f1.png Binary files differnew file mode 100644 index 000000000..eea83475b --- /dev/null +++ b/web/static/images/emoji/1f4f1.png diff --git a/web/static/images/emoji/1f4f2.png b/web/static/images/emoji/1f4f2.png Binary files differnew file mode 100644 index 000000000..e10f74a6a --- /dev/null +++ b/web/static/images/emoji/1f4f2.png diff --git a/web/static/images/emoji/1f4f3.png b/web/static/images/emoji/1f4f3.png Binary files differnew file mode 100644 index 000000000..6da565442 --- /dev/null +++ b/web/static/images/emoji/1f4f3.png diff --git a/web/static/images/emoji/1f4f4.png b/web/static/images/emoji/1f4f4.png Binary files differnew file mode 100644 index 000000000..63d1deeaa --- /dev/null +++ b/web/static/images/emoji/1f4f4.png diff --git a/web/static/images/emoji/1f4f5.png b/web/static/images/emoji/1f4f5.png Binary files differnew file mode 100644 index 000000000..8324e4361 --- /dev/null +++ b/web/static/images/emoji/1f4f5.png diff --git a/web/static/images/emoji/1f4f6.png b/web/static/images/emoji/1f4f6.png Binary files differnew file mode 100644 index 000000000..21956bb51 --- /dev/null +++ b/web/static/images/emoji/1f4f6.png diff --git a/web/static/images/emoji/1f4f7.png b/web/static/images/emoji/1f4f7.png Binary files differnew file mode 100644 index 000000000..0b4463e8b --- /dev/null +++ b/web/static/images/emoji/1f4f7.png diff --git a/web/static/images/emoji/1f4f8.png b/web/static/images/emoji/1f4f8.png Binary files differnew file mode 100644 index 000000000..66f223b17 --- /dev/null +++ b/web/static/images/emoji/1f4f8.png diff --git a/web/static/images/emoji/1f4f9.png b/web/static/images/emoji/1f4f9.png Binary files differnew file mode 100644 index 000000000..1b3514f8a --- /dev/null +++ b/web/static/images/emoji/1f4f9.png diff --git a/web/static/images/emoji/1f4fa.png b/web/static/images/emoji/1f4fa.png Binary files differnew file mode 100644 index 000000000..5318e2dc8 --- /dev/null +++ b/web/static/images/emoji/1f4fa.png diff --git a/web/static/images/emoji/1f4fb.png b/web/static/images/emoji/1f4fb.png Binary files differnew file mode 100644 index 000000000..e75747faa --- /dev/null +++ b/web/static/images/emoji/1f4fb.png diff --git a/web/static/images/emoji/1f4fc.png b/web/static/images/emoji/1f4fc.png Binary files differnew file mode 100644 index 000000000..134e3a2c4 --- /dev/null +++ b/web/static/images/emoji/1f4fc.png diff --git a/web/static/images/emoji/1f4fd.png b/web/static/images/emoji/1f4fd.png Binary files differnew file mode 100644 index 000000000..46800d29d --- /dev/null +++ b/web/static/images/emoji/1f4fd.png diff --git a/web/static/images/emoji/1f4fe.png b/web/static/images/emoji/1f4fe.png Binary files differnew file mode 100644 index 000000000..f301928e3 --- /dev/null +++ b/web/static/images/emoji/1f4fe.png diff --git a/web/static/images/emoji/1f500.png b/web/static/images/emoji/1f500.png Binary files differnew file mode 100644 index 000000000..96e03e168 --- /dev/null +++ b/web/static/images/emoji/1f500.png diff --git a/web/static/images/emoji/1f501.png b/web/static/images/emoji/1f501.png Binary files differnew file mode 100644 index 000000000..8420b4f5d --- /dev/null +++ b/web/static/images/emoji/1f501.png diff --git a/web/static/images/emoji/1f502.png b/web/static/images/emoji/1f502.png Binary files differnew file mode 100644 index 000000000..2dacec71a --- /dev/null +++ b/web/static/images/emoji/1f502.png diff --git a/web/static/images/emoji/1f503.png b/web/static/images/emoji/1f503.png Binary files differnew file mode 100644 index 000000000..fe7d5bafd --- /dev/null +++ b/web/static/images/emoji/1f503.png diff --git a/web/static/images/emoji/1f504.png b/web/static/images/emoji/1f504.png Binary files differnew file mode 100644 index 000000000..7bd4e4d75 --- /dev/null +++ b/web/static/images/emoji/1f504.png diff --git a/web/static/images/emoji/1f505.png b/web/static/images/emoji/1f505.png Binary files differnew file mode 100644 index 000000000..aecba4603 --- /dev/null +++ b/web/static/images/emoji/1f505.png diff --git a/web/static/images/emoji/1f506.png b/web/static/images/emoji/1f506.png Binary files differnew file mode 100644 index 000000000..e5f548443 --- /dev/null +++ b/web/static/images/emoji/1f506.png diff --git a/web/static/images/emoji/1f507.png b/web/static/images/emoji/1f507.png Binary files differnew file mode 100644 index 000000000..04d987046 --- /dev/null +++ b/web/static/images/emoji/1f507.png diff --git a/web/static/images/emoji/1f508.png b/web/static/images/emoji/1f508.png Binary files differnew file mode 100644 index 000000000..38d5ee391 --- /dev/null +++ b/web/static/images/emoji/1f508.png diff --git a/web/static/images/emoji/1f509.png b/web/static/images/emoji/1f509.png Binary files differnew file mode 100644 index 000000000..0d7011bcb --- /dev/null +++ b/web/static/images/emoji/1f509.png diff --git a/web/static/images/emoji/1f50a.png b/web/static/images/emoji/1f50a.png Binary files differnew file mode 100644 index 000000000..e84702e56 --- /dev/null +++ b/web/static/images/emoji/1f50a.png diff --git a/web/static/images/emoji/1f50b.png b/web/static/images/emoji/1f50b.png Binary files differnew file mode 100644 index 000000000..9de506348 --- /dev/null +++ b/web/static/images/emoji/1f50b.png diff --git a/web/static/images/emoji/1f50c.png b/web/static/images/emoji/1f50c.png Binary files differnew file mode 100644 index 000000000..e15d4d5ad --- /dev/null +++ b/web/static/images/emoji/1f50c.png diff --git a/web/static/images/emoji/1f50d.png b/web/static/images/emoji/1f50d.png Binary files differnew file mode 100644 index 000000000..99982fbec --- /dev/null +++ b/web/static/images/emoji/1f50d.png diff --git a/web/static/images/emoji/1f50e.png b/web/static/images/emoji/1f50e.png Binary files differnew file mode 100644 index 000000000..95d12da0e --- /dev/null +++ b/web/static/images/emoji/1f50e.png diff --git a/web/static/images/emoji/1f50f.png b/web/static/images/emoji/1f50f.png Binary files differnew file mode 100644 index 000000000..274d6f888 --- /dev/null +++ b/web/static/images/emoji/1f50f.png diff --git a/web/static/images/emoji/1f510.png b/web/static/images/emoji/1f510.png Binary files differnew file mode 100644 index 000000000..d2bddb1eb --- /dev/null +++ b/web/static/images/emoji/1f510.png diff --git a/web/static/images/emoji/1f511.png b/web/static/images/emoji/1f511.png Binary files differnew file mode 100644 index 000000000..2739df6db --- /dev/null +++ b/web/static/images/emoji/1f511.png diff --git a/web/static/images/emoji/1f512.png b/web/static/images/emoji/1f512.png Binary files differnew file mode 100644 index 000000000..f1dc55a1a --- /dev/null +++ b/web/static/images/emoji/1f512.png diff --git a/web/static/images/emoji/1f513.png b/web/static/images/emoji/1f513.png Binary files differnew file mode 100644 index 000000000..db05d1b73 --- /dev/null +++ b/web/static/images/emoji/1f513.png diff --git a/web/static/images/emoji/1f514.png b/web/static/images/emoji/1f514.png Binary files differnew file mode 100644 index 000000000..d1473557e --- /dev/null +++ b/web/static/images/emoji/1f514.png diff --git a/web/static/images/emoji/1f515.png b/web/static/images/emoji/1f515.png Binary files differnew file mode 100644 index 000000000..30e8858aa --- /dev/null +++ b/web/static/images/emoji/1f515.png diff --git a/web/static/images/emoji/1f516.png b/web/static/images/emoji/1f516.png Binary files differnew file mode 100644 index 000000000..05a3325c8 --- /dev/null +++ b/web/static/images/emoji/1f516.png diff --git a/web/static/images/emoji/1f517.png b/web/static/images/emoji/1f517.png Binary files differnew file mode 100644 index 000000000..0954f494a --- /dev/null +++ b/web/static/images/emoji/1f517.png diff --git a/web/static/images/emoji/1f518.png b/web/static/images/emoji/1f518.png Binary files differnew file mode 100644 index 000000000..bbc36031e --- /dev/null +++ b/web/static/images/emoji/1f518.png diff --git a/web/static/images/emoji/1f519.png b/web/static/images/emoji/1f519.png Binary files differnew file mode 100644 index 000000000..13983d277 --- /dev/null +++ b/web/static/images/emoji/1f519.png diff --git a/web/static/images/emoji/1f51a.png b/web/static/images/emoji/1f51a.png Binary files differnew file mode 100644 index 000000000..03bfb2869 --- /dev/null +++ b/web/static/images/emoji/1f51a.png diff --git a/web/static/images/emoji/1f51b.png b/web/static/images/emoji/1f51b.png Binary files differnew file mode 100644 index 000000000..3c369cb1d --- /dev/null +++ b/web/static/images/emoji/1f51b.png diff --git a/web/static/images/emoji/1f51c.png b/web/static/images/emoji/1f51c.png Binary files differnew file mode 100644 index 000000000..c795ce03f --- /dev/null +++ b/web/static/images/emoji/1f51c.png diff --git a/web/static/images/emoji/1f51d.png b/web/static/images/emoji/1f51d.png Binary files differnew file mode 100644 index 000000000..5c6eb3c52 --- /dev/null +++ b/web/static/images/emoji/1f51d.png diff --git a/web/static/images/emoji/1f51e.png b/web/static/images/emoji/1f51e.png Binary files differnew file mode 100644 index 000000000..603ce57ea --- /dev/null +++ b/web/static/images/emoji/1f51e.png diff --git a/web/static/images/emoji/1f51f.png b/web/static/images/emoji/1f51f.png Binary files differnew file mode 100644 index 000000000..5f817b8d6 --- /dev/null +++ b/web/static/images/emoji/1f51f.png diff --git a/web/static/images/emoji/1f520.png b/web/static/images/emoji/1f520.png Binary files differnew file mode 100644 index 000000000..044554f6f --- /dev/null +++ b/web/static/images/emoji/1f520.png diff --git a/web/static/images/emoji/1f521.png b/web/static/images/emoji/1f521.png Binary files differnew file mode 100644 index 000000000..a79d4311d --- /dev/null +++ b/web/static/images/emoji/1f521.png diff --git a/web/static/images/emoji/1f522.png b/web/static/images/emoji/1f522.png Binary files differnew file mode 100644 index 000000000..17ec5f12a --- /dev/null +++ b/web/static/images/emoji/1f522.png diff --git a/web/static/images/emoji/1f523.png b/web/static/images/emoji/1f523.png Binary files differnew file mode 100644 index 000000000..f1cdcb734 --- /dev/null +++ b/web/static/images/emoji/1f523.png diff --git a/web/static/images/emoji/1f524.png b/web/static/images/emoji/1f524.png Binary files differnew file mode 100644 index 000000000..51dc1bf76 --- /dev/null +++ b/web/static/images/emoji/1f524.png diff --git a/web/static/images/emoji/1f525.png b/web/static/images/emoji/1f525.png Binary files differnew file mode 100644 index 000000000..3149ed675 --- /dev/null +++ b/web/static/images/emoji/1f525.png diff --git a/web/static/images/emoji/1f526.png b/web/static/images/emoji/1f526.png Binary files differnew file mode 100644 index 000000000..3e64a0d0b --- /dev/null +++ b/web/static/images/emoji/1f526.png diff --git a/web/static/images/emoji/1f527.png b/web/static/images/emoji/1f527.png Binary files differnew file mode 100644 index 000000000..64a0d6a76 --- /dev/null +++ b/web/static/images/emoji/1f527.png diff --git a/web/static/images/emoji/1f528.png b/web/static/images/emoji/1f528.png Binary files differnew file mode 100644 index 000000000..6d91d1320 --- /dev/null +++ b/web/static/images/emoji/1f528.png diff --git a/web/static/images/emoji/1f529.png b/web/static/images/emoji/1f529.png Binary files differnew file mode 100644 index 000000000..fee747a01 --- /dev/null +++ b/web/static/images/emoji/1f529.png diff --git a/web/static/images/emoji/1f52a.png b/web/static/images/emoji/1f52a.png Binary files differnew file mode 100644 index 000000000..43249ba94 --- /dev/null +++ b/web/static/images/emoji/1f52a.png diff --git a/web/static/images/emoji/1f52b.png b/web/static/images/emoji/1f52b.png Binary files differnew file mode 100644 index 000000000..f0e6b8fab --- /dev/null +++ b/web/static/images/emoji/1f52b.png diff --git a/web/static/images/emoji/1f52c.png b/web/static/images/emoji/1f52c.png Binary files differnew file mode 100644 index 000000000..944293d1e --- /dev/null +++ b/web/static/images/emoji/1f52c.png diff --git a/web/static/images/emoji/1f52d.png b/web/static/images/emoji/1f52d.png Binary files differnew file mode 100644 index 000000000..8fc07d50f --- /dev/null +++ b/web/static/images/emoji/1f52d.png diff --git a/web/static/images/emoji/1f52e.png b/web/static/images/emoji/1f52e.png Binary files differnew file mode 100644 index 000000000..d9ee3b4f3 --- /dev/null +++ b/web/static/images/emoji/1f52e.png diff --git a/web/static/images/emoji/1f52f.png b/web/static/images/emoji/1f52f.png Binary files differnew file mode 100644 index 000000000..3b590a628 --- /dev/null +++ b/web/static/images/emoji/1f52f.png diff --git a/web/static/images/emoji/1f530.png b/web/static/images/emoji/1f530.png Binary files differnew file mode 100644 index 000000000..5f429bf63 --- /dev/null +++ b/web/static/images/emoji/1f530.png diff --git a/web/static/images/emoji/1f531.png b/web/static/images/emoji/1f531.png Binary files differnew file mode 100644 index 000000000..ae1e0bc88 --- /dev/null +++ b/web/static/images/emoji/1f531.png diff --git a/web/static/images/emoji/1f532.png b/web/static/images/emoji/1f532.png Binary files differnew file mode 100644 index 000000000..06c68f23e --- /dev/null +++ b/web/static/images/emoji/1f532.png diff --git a/web/static/images/emoji/1f533.png b/web/static/images/emoji/1f533.png Binary files differnew file mode 100644 index 000000000..df974d948 --- /dev/null +++ b/web/static/images/emoji/1f533.png diff --git a/web/static/images/emoji/1f534.png b/web/static/images/emoji/1f534.png Binary files differnew file mode 100644 index 000000000..bd50ae446 --- /dev/null +++ b/web/static/images/emoji/1f534.png diff --git a/web/static/images/emoji/1f535.png b/web/static/images/emoji/1f535.png Binary files differnew file mode 100644 index 000000000..ddc4e7e59 --- /dev/null +++ b/web/static/images/emoji/1f535.png diff --git a/web/static/images/emoji/1f536.png b/web/static/images/emoji/1f536.png Binary files differnew file mode 100644 index 000000000..f8c060fd2 --- /dev/null +++ b/web/static/images/emoji/1f536.png diff --git a/web/static/images/emoji/1f537.png b/web/static/images/emoji/1f537.png Binary files differnew file mode 100644 index 000000000..fbe133557 --- /dev/null +++ b/web/static/images/emoji/1f537.png diff --git a/web/static/images/emoji/1f538.png b/web/static/images/emoji/1f538.png Binary files differnew file mode 100644 index 000000000..64a03b216 --- /dev/null +++ b/web/static/images/emoji/1f538.png diff --git a/web/static/images/emoji/1f539.png b/web/static/images/emoji/1f539.png Binary files differnew file mode 100644 index 000000000..9b8ded84a --- /dev/null +++ b/web/static/images/emoji/1f539.png diff --git a/web/static/images/emoji/1f53a.png b/web/static/images/emoji/1f53a.png Binary files differnew file mode 100644 index 000000000..b321f2a49 --- /dev/null +++ b/web/static/images/emoji/1f53a.png diff --git a/web/static/images/emoji/1f53b.png b/web/static/images/emoji/1f53b.png Binary files differnew file mode 100644 index 000000000..4c9586d24 --- /dev/null +++ b/web/static/images/emoji/1f53b.png diff --git a/web/static/images/emoji/1f53c.png b/web/static/images/emoji/1f53c.png Binary files differnew file mode 100644 index 000000000..7752177fd --- /dev/null +++ b/web/static/images/emoji/1f53c.png diff --git a/web/static/images/emoji/1f53d.png b/web/static/images/emoji/1f53d.png Binary files differnew file mode 100644 index 000000000..6694271c4 --- /dev/null +++ b/web/static/images/emoji/1f53d.png diff --git a/web/static/images/emoji/1f546.png b/web/static/images/emoji/1f546.png Binary files differnew file mode 100644 index 000000000..031328aa2 --- /dev/null +++ b/web/static/images/emoji/1f546.png diff --git a/web/static/images/emoji/1f547.png b/web/static/images/emoji/1f547.png Binary files differnew file mode 100644 index 000000000..983217302 --- /dev/null +++ b/web/static/images/emoji/1f547.png diff --git a/web/static/images/emoji/1f548.png b/web/static/images/emoji/1f548.png Binary files differnew file mode 100644 index 000000000..5ceabd8f7 --- /dev/null +++ b/web/static/images/emoji/1f548.png diff --git a/web/static/images/emoji/1f549.png b/web/static/images/emoji/1f549.png Binary files differnew file mode 100644 index 000000000..52cc9f00e --- /dev/null +++ b/web/static/images/emoji/1f549.png diff --git a/web/static/images/emoji/1f54a.png b/web/static/images/emoji/1f54a.png Binary files differnew file mode 100644 index 000000000..e54bfc2b1 --- /dev/null +++ b/web/static/images/emoji/1f54a.png diff --git a/web/static/images/emoji/1f550.png b/web/static/images/emoji/1f550.png Binary files differnew file mode 100644 index 000000000..980085a07 --- /dev/null +++ b/web/static/images/emoji/1f550.png diff --git a/web/static/images/emoji/1f551.png b/web/static/images/emoji/1f551.png Binary files differnew file mode 100644 index 000000000..ba411f8f0 --- /dev/null +++ b/web/static/images/emoji/1f551.png diff --git a/web/static/images/emoji/1f552.png b/web/static/images/emoji/1f552.png Binary files differnew file mode 100644 index 000000000..7978c4251 --- /dev/null +++ b/web/static/images/emoji/1f552.png diff --git a/web/static/images/emoji/1f553.png b/web/static/images/emoji/1f553.png Binary files differnew file mode 100644 index 000000000..4cfceb291 --- /dev/null +++ b/web/static/images/emoji/1f553.png diff --git a/web/static/images/emoji/1f554.png b/web/static/images/emoji/1f554.png Binary files differnew file mode 100644 index 000000000..403b99fb2 --- /dev/null +++ b/web/static/images/emoji/1f554.png diff --git a/web/static/images/emoji/1f555.png b/web/static/images/emoji/1f555.png Binary files differnew file mode 100644 index 000000000..008ac2b9e --- /dev/null +++ b/web/static/images/emoji/1f555.png diff --git a/web/static/images/emoji/1f556.png b/web/static/images/emoji/1f556.png Binary files differnew file mode 100644 index 000000000..067d11165 --- /dev/null +++ b/web/static/images/emoji/1f556.png diff --git a/web/static/images/emoji/1f557.png b/web/static/images/emoji/1f557.png Binary files differnew file mode 100644 index 000000000..c4bdc4080 --- /dev/null +++ b/web/static/images/emoji/1f557.png diff --git a/web/static/images/emoji/1f558.png b/web/static/images/emoji/1f558.png Binary files differnew file mode 100644 index 000000000..467de0ba5 --- /dev/null +++ b/web/static/images/emoji/1f558.png diff --git a/web/static/images/emoji/1f559.png b/web/static/images/emoji/1f559.png Binary files differnew file mode 100644 index 000000000..90f1576d2 --- /dev/null +++ b/web/static/images/emoji/1f559.png diff --git a/web/static/images/emoji/1f55a.png b/web/static/images/emoji/1f55a.png Binary files differnew file mode 100644 index 000000000..918ba245f --- /dev/null +++ b/web/static/images/emoji/1f55a.png diff --git a/web/static/images/emoji/1f55b.png b/web/static/images/emoji/1f55b.png Binary files differnew file mode 100644 index 000000000..d5848e629 --- /dev/null +++ b/web/static/images/emoji/1f55b.png diff --git a/web/static/images/emoji/1f55c.png b/web/static/images/emoji/1f55c.png Binary files differnew file mode 100644 index 000000000..c4675548d --- /dev/null +++ b/web/static/images/emoji/1f55c.png diff --git a/web/static/images/emoji/1f55d.png b/web/static/images/emoji/1f55d.png Binary files differnew file mode 100644 index 000000000..5482453d1 --- /dev/null +++ b/web/static/images/emoji/1f55d.png diff --git a/web/static/images/emoji/1f55e.png b/web/static/images/emoji/1f55e.png Binary files differnew file mode 100644 index 000000000..f66421993 --- /dev/null +++ b/web/static/images/emoji/1f55e.png diff --git a/web/static/images/emoji/1f55f.png b/web/static/images/emoji/1f55f.png Binary files differnew file mode 100644 index 000000000..b93f01e67 --- /dev/null +++ b/web/static/images/emoji/1f55f.png diff --git a/web/static/images/emoji/1f560.png b/web/static/images/emoji/1f560.png Binary files differnew file mode 100644 index 000000000..b2ad07307 --- /dev/null +++ b/web/static/images/emoji/1f560.png diff --git a/web/static/images/emoji/1f561.png b/web/static/images/emoji/1f561.png Binary files differnew file mode 100644 index 000000000..dbabd4eb9 --- /dev/null +++ b/web/static/images/emoji/1f561.png diff --git a/web/static/images/emoji/1f562.png b/web/static/images/emoji/1f562.png Binary files differnew file mode 100644 index 000000000..415894eda --- /dev/null +++ b/web/static/images/emoji/1f562.png diff --git a/web/static/images/emoji/1f563.png b/web/static/images/emoji/1f563.png Binary files differnew file mode 100644 index 000000000..8e899ad48 --- /dev/null +++ b/web/static/images/emoji/1f563.png diff --git a/web/static/images/emoji/1f564.png b/web/static/images/emoji/1f564.png Binary files differnew file mode 100644 index 000000000..d9c91203c --- /dev/null +++ b/web/static/images/emoji/1f564.png diff --git a/web/static/images/emoji/1f565.png b/web/static/images/emoji/1f565.png Binary files differnew file mode 100644 index 000000000..c530b7db4 --- /dev/null +++ b/web/static/images/emoji/1f565.png diff --git a/web/static/images/emoji/1f566.png b/web/static/images/emoji/1f566.png Binary files differnew file mode 100644 index 000000000..e39bbbbb1 --- /dev/null +++ b/web/static/images/emoji/1f566.png diff --git a/web/static/images/emoji/1f567.png b/web/static/images/emoji/1f567.png Binary files differnew file mode 100644 index 000000000..f67ed85f3 --- /dev/null +++ b/web/static/images/emoji/1f567.png diff --git a/web/static/images/emoji/1f568.png b/web/static/images/emoji/1f568.png Binary files differnew file mode 100644 index 000000000..2d90e65b3 --- /dev/null +++ b/web/static/images/emoji/1f568.png diff --git a/web/static/images/emoji/1f569.png b/web/static/images/emoji/1f569.png Binary files differnew file mode 100644 index 000000000..32b23d789 --- /dev/null +++ b/web/static/images/emoji/1f569.png diff --git a/web/static/images/emoji/1f56a.png b/web/static/images/emoji/1f56a.png Binary files differnew file mode 100644 index 000000000..80fda89dd --- /dev/null +++ b/web/static/images/emoji/1f56a.png diff --git a/web/static/images/emoji/1f56b.png b/web/static/images/emoji/1f56b.png Binary files differnew file mode 100644 index 000000000..0101d8785 --- /dev/null +++ b/web/static/images/emoji/1f56b.png diff --git a/web/static/images/emoji/1f56c.png b/web/static/images/emoji/1f56c.png Binary files differnew file mode 100644 index 000000000..9cb585d4a --- /dev/null +++ b/web/static/images/emoji/1f56c.png diff --git a/web/static/images/emoji/1f56d.png b/web/static/images/emoji/1f56d.png Binary files differnew file mode 100644 index 000000000..da703c458 --- /dev/null +++ b/web/static/images/emoji/1f56d.png diff --git a/web/static/images/emoji/1f56e.png b/web/static/images/emoji/1f56e.png Binary files differnew file mode 100644 index 000000000..2f69b084b --- /dev/null +++ b/web/static/images/emoji/1f56e.png diff --git a/web/static/images/emoji/1f56f.png b/web/static/images/emoji/1f56f.png Binary files differnew file mode 100644 index 000000000..d3395073a --- /dev/null +++ b/web/static/images/emoji/1f56f.png diff --git a/web/static/images/emoji/1f570.png b/web/static/images/emoji/1f570.png Binary files differnew file mode 100644 index 000000000..f944ec0c6 --- /dev/null +++ b/web/static/images/emoji/1f570.png diff --git a/web/static/images/emoji/1f571.png b/web/static/images/emoji/1f571.png Binary files differnew file mode 100644 index 000000000..e7df45a04 --- /dev/null +++ b/web/static/images/emoji/1f571.png diff --git a/web/static/images/emoji/1f572.png b/web/static/images/emoji/1f572.png Binary files differnew file mode 100644 index 000000000..f2b6fd31e --- /dev/null +++ b/web/static/images/emoji/1f572.png diff --git a/web/static/images/emoji/1f573.png b/web/static/images/emoji/1f573.png Binary files differnew file mode 100644 index 000000000..ca20daa89 --- /dev/null +++ b/web/static/images/emoji/1f573.png diff --git a/web/static/images/emoji/1f574.png b/web/static/images/emoji/1f574.png Binary files differnew file mode 100644 index 000000000..1c526acbe --- /dev/null +++ b/web/static/images/emoji/1f574.png diff --git a/web/static/images/emoji/1f575.png b/web/static/images/emoji/1f575.png Binary files differnew file mode 100644 index 000000000..9ee45b37b --- /dev/null +++ b/web/static/images/emoji/1f575.png diff --git a/web/static/images/emoji/1f576.png b/web/static/images/emoji/1f576.png Binary files differnew file mode 100644 index 000000000..6ed2172a0 --- /dev/null +++ b/web/static/images/emoji/1f576.png diff --git a/web/static/images/emoji/1f577.png b/web/static/images/emoji/1f577.png Binary files differnew file mode 100644 index 000000000..9e1fe5441 --- /dev/null +++ b/web/static/images/emoji/1f577.png diff --git a/web/static/images/emoji/1f578.png b/web/static/images/emoji/1f578.png Binary files differnew file mode 100644 index 000000000..edad19093 --- /dev/null +++ b/web/static/images/emoji/1f578.png diff --git a/web/static/images/emoji/1f579.png b/web/static/images/emoji/1f579.png Binary files differnew file mode 100644 index 000000000..6808f30fb --- /dev/null +++ b/web/static/images/emoji/1f579.png diff --git a/web/static/images/emoji/1f57b.png b/web/static/images/emoji/1f57b.png Binary files differnew file mode 100644 index 000000000..172c5fcd3 --- /dev/null +++ b/web/static/images/emoji/1f57b.png diff --git a/web/static/images/emoji/1f57e.png b/web/static/images/emoji/1f57e.png Binary files differnew file mode 100644 index 000000000..9f66689a1 --- /dev/null +++ b/web/static/images/emoji/1f57e.png diff --git a/web/static/images/emoji/1f57f.png b/web/static/images/emoji/1f57f.png Binary files differnew file mode 100644 index 000000000..0e3b2c3da --- /dev/null +++ b/web/static/images/emoji/1f57f.png diff --git a/web/static/images/emoji/1f581.png b/web/static/images/emoji/1f581.png Binary files differnew file mode 100644 index 000000000..1b6d000b2 --- /dev/null +++ b/web/static/images/emoji/1f581.png diff --git a/web/static/images/emoji/1f582.png b/web/static/images/emoji/1f582.png Binary files differnew file mode 100644 index 000000000..ebc29b0a1 --- /dev/null +++ b/web/static/images/emoji/1f582.png diff --git a/web/static/images/emoji/1f583.png b/web/static/images/emoji/1f583.png Binary files differnew file mode 100644 index 000000000..77ad89fa7 --- /dev/null +++ b/web/static/images/emoji/1f583.png diff --git a/web/static/images/emoji/1f585.png b/web/static/images/emoji/1f585.png Binary files differnew file mode 100644 index 000000000..777f35a89 --- /dev/null +++ b/web/static/images/emoji/1f585.png diff --git a/web/static/images/emoji/1f586.png b/web/static/images/emoji/1f586.png Binary files differnew file mode 100644 index 000000000..dde00d62f --- /dev/null +++ b/web/static/images/emoji/1f586.png diff --git a/web/static/images/emoji/1f587.png b/web/static/images/emoji/1f587.png Binary files differnew file mode 100644 index 000000000..e449161de --- /dev/null +++ b/web/static/images/emoji/1f587.png diff --git a/web/static/images/emoji/1f588.png b/web/static/images/emoji/1f588.png Binary files differnew file mode 100644 index 000000000..8036d6cbe --- /dev/null +++ b/web/static/images/emoji/1f588.png diff --git a/web/static/images/emoji/1f589.png b/web/static/images/emoji/1f589.png Binary files differnew file mode 100644 index 000000000..d11de2bf0 --- /dev/null +++ b/web/static/images/emoji/1f589.png diff --git a/web/static/images/emoji/1f58a.png b/web/static/images/emoji/1f58a.png Binary files differnew file mode 100644 index 000000000..b363fd8bd --- /dev/null +++ b/web/static/images/emoji/1f58a.png diff --git a/web/static/images/emoji/1f58b.png b/web/static/images/emoji/1f58b.png Binary files differnew file mode 100644 index 000000000..0b4301c18 --- /dev/null +++ b/web/static/images/emoji/1f58b.png diff --git a/web/static/images/emoji/1f58c.png b/web/static/images/emoji/1f58c.png Binary files differnew file mode 100644 index 000000000..49eab81fa --- /dev/null +++ b/web/static/images/emoji/1f58c.png diff --git a/web/static/images/emoji/1f58d.png b/web/static/images/emoji/1f58d.png Binary files differnew file mode 100644 index 000000000..3d8392f9b --- /dev/null +++ b/web/static/images/emoji/1f58d.png diff --git a/web/static/images/emoji/1f58e.png b/web/static/images/emoji/1f58e.png Binary files differnew file mode 100644 index 000000000..629bd17a2 --- /dev/null +++ b/web/static/images/emoji/1f58e.png diff --git a/web/static/images/emoji/1f58f.png b/web/static/images/emoji/1f58f.png Binary files differnew file mode 100644 index 000000000..1e20ede48 --- /dev/null +++ b/web/static/images/emoji/1f58f.png diff --git a/web/static/images/emoji/1f590.png b/web/static/images/emoji/1f590.png Binary files differnew file mode 100644 index 000000000..09046e201 --- /dev/null +++ b/web/static/images/emoji/1f590.png diff --git a/web/static/images/emoji/1f591.png b/web/static/images/emoji/1f591.png Binary files differnew file mode 100644 index 000000000..e7d29d8fe --- /dev/null +++ b/web/static/images/emoji/1f591.png diff --git a/web/static/images/emoji/1f592.png b/web/static/images/emoji/1f592.png Binary files differnew file mode 100644 index 000000000..c39f3300e --- /dev/null +++ b/web/static/images/emoji/1f592.png diff --git a/web/static/images/emoji/1f593.png b/web/static/images/emoji/1f593.png Binary files differnew file mode 100644 index 000000000..ebcdca18a --- /dev/null +++ b/web/static/images/emoji/1f593.png diff --git a/web/static/images/emoji/1f594.png b/web/static/images/emoji/1f594.png Binary files differnew file mode 100644 index 000000000..a5dadf257 --- /dev/null +++ b/web/static/images/emoji/1f594.png diff --git a/web/static/images/emoji/1f595.png b/web/static/images/emoji/1f595.png Binary files differnew file mode 100644 index 000000000..c4e5d4a91 --- /dev/null +++ b/web/static/images/emoji/1f595.png diff --git a/web/static/images/emoji/1f596.png b/web/static/images/emoji/1f596.png Binary files differnew file mode 100644 index 000000000..88e8765e0 --- /dev/null +++ b/web/static/images/emoji/1f596.png diff --git a/web/static/images/emoji/1f597.png b/web/static/images/emoji/1f597.png Binary files differnew file mode 100644 index 000000000..18468bc88 --- /dev/null +++ b/web/static/images/emoji/1f597.png diff --git a/web/static/images/emoji/1f598.png b/web/static/images/emoji/1f598.png Binary files differnew file mode 100644 index 000000000..1abfbc5f6 --- /dev/null +++ b/web/static/images/emoji/1f598.png diff --git a/web/static/images/emoji/1f599.png b/web/static/images/emoji/1f599.png Binary files differnew file mode 100644 index 000000000..5ea3694d6 --- /dev/null +++ b/web/static/images/emoji/1f599.png diff --git a/web/static/images/emoji/1f59e.png b/web/static/images/emoji/1f59e.png Binary files differnew file mode 100644 index 000000000..ef514b6fc --- /dev/null +++ b/web/static/images/emoji/1f59e.png diff --git a/web/static/images/emoji/1f59f.png b/web/static/images/emoji/1f59f.png Binary files differnew file mode 100644 index 000000000..8a1a419ab --- /dev/null +++ b/web/static/images/emoji/1f59f.png diff --git a/web/static/images/emoji/1f5a5.png b/web/static/images/emoji/1f5a5.png Binary files differnew file mode 100644 index 000000000..59fc83484 --- /dev/null +++ b/web/static/images/emoji/1f5a5.png diff --git a/web/static/images/emoji/1f5a6.png b/web/static/images/emoji/1f5a6.png Binary files differnew file mode 100644 index 000000000..ed5be833c --- /dev/null +++ b/web/static/images/emoji/1f5a6.png diff --git a/web/static/images/emoji/1f5a7.png b/web/static/images/emoji/1f5a7.png Binary files differnew file mode 100644 index 000000000..c4bf3dc41 --- /dev/null +++ b/web/static/images/emoji/1f5a7.png diff --git a/web/static/images/emoji/1f5a8.png b/web/static/images/emoji/1f5a8.png Binary files differnew file mode 100644 index 000000000..8d6002d7b --- /dev/null +++ b/web/static/images/emoji/1f5a8.png diff --git a/web/static/images/emoji/1f5a9.png b/web/static/images/emoji/1f5a9.png Binary files differnew file mode 100644 index 000000000..2de66973b --- /dev/null +++ b/web/static/images/emoji/1f5a9.png diff --git a/web/static/images/emoji/1f5aa.png b/web/static/images/emoji/1f5aa.png Binary files differnew file mode 100644 index 000000000..248d29edd --- /dev/null +++ b/web/static/images/emoji/1f5aa.png diff --git a/web/static/images/emoji/1f5ab.png b/web/static/images/emoji/1f5ab.png Binary files differnew file mode 100644 index 000000000..1bc1a86aa --- /dev/null +++ b/web/static/images/emoji/1f5ab.png diff --git a/web/static/images/emoji/1f5ad.png b/web/static/images/emoji/1f5ad.png Binary files differnew file mode 100644 index 000000000..7d58690b1 --- /dev/null +++ b/web/static/images/emoji/1f5ad.png diff --git a/web/static/images/emoji/1f5ae.png b/web/static/images/emoji/1f5ae.png Binary files differnew file mode 100644 index 000000000..a603a417b --- /dev/null +++ b/web/static/images/emoji/1f5ae.png diff --git a/web/static/images/emoji/1f5af.png b/web/static/images/emoji/1f5af.png Binary files differnew file mode 100644 index 000000000..2594e627b --- /dev/null +++ b/web/static/images/emoji/1f5af.png diff --git a/web/static/images/emoji/1f5b2.png b/web/static/images/emoji/1f5b2.png Binary files differnew file mode 100644 index 000000000..3ecf9b87b --- /dev/null +++ b/web/static/images/emoji/1f5b2.png diff --git a/web/static/images/emoji/1f5b3.png b/web/static/images/emoji/1f5b3.png Binary files differnew file mode 100644 index 000000000..548314b95 --- /dev/null +++ b/web/static/images/emoji/1f5b3.png diff --git a/web/static/images/emoji/1f5b4.png b/web/static/images/emoji/1f5b4.png Binary files differnew file mode 100644 index 000000000..c7b052aa3 --- /dev/null +++ b/web/static/images/emoji/1f5b4.png diff --git a/web/static/images/emoji/1f5b8.png b/web/static/images/emoji/1f5b8.png Binary files differnew file mode 100644 index 000000000..471074beb --- /dev/null +++ b/web/static/images/emoji/1f5b8.png diff --git a/web/static/images/emoji/1f5b9.png b/web/static/images/emoji/1f5b9.png Binary files differnew file mode 100644 index 000000000..3da781788 --- /dev/null +++ b/web/static/images/emoji/1f5b9.png diff --git a/web/static/images/emoji/1f5bc.png b/web/static/images/emoji/1f5bc.png Binary files differnew file mode 100644 index 000000000..d2950ba9b --- /dev/null +++ b/web/static/images/emoji/1f5bc.png diff --git a/web/static/images/emoji/1f5bd.png b/web/static/images/emoji/1f5bd.png Binary files differnew file mode 100644 index 000000000..d88582cd4 --- /dev/null +++ b/web/static/images/emoji/1f5bd.png diff --git a/web/static/images/emoji/1f5be.png b/web/static/images/emoji/1f5be.png Binary files differnew file mode 100644 index 000000000..a768f6c67 --- /dev/null +++ b/web/static/images/emoji/1f5be.png diff --git a/web/static/images/emoji/1f5c0.png b/web/static/images/emoji/1f5c0.png Binary files differnew file mode 100644 index 000000000..e0178906c --- /dev/null +++ b/web/static/images/emoji/1f5c0.png diff --git a/web/static/images/emoji/1f5c1.png b/web/static/images/emoji/1f5c1.png Binary files differnew file mode 100644 index 000000000..bbdadc9b4 --- /dev/null +++ b/web/static/images/emoji/1f5c1.png diff --git a/web/static/images/emoji/1f5c2.png b/web/static/images/emoji/1f5c2.png Binary files differnew file mode 100644 index 000000000..b22199edd --- /dev/null +++ b/web/static/images/emoji/1f5c2.png diff --git a/web/static/images/emoji/1f5c3.png b/web/static/images/emoji/1f5c3.png Binary files differnew file mode 100644 index 000000000..c9278f336 --- /dev/null +++ b/web/static/images/emoji/1f5c3.png diff --git a/web/static/images/emoji/1f5c4.png b/web/static/images/emoji/1f5c4.png Binary files differnew file mode 100644 index 000000000..e45c65729 --- /dev/null +++ b/web/static/images/emoji/1f5c4.png diff --git a/web/static/images/emoji/1f5c6.png b/web/static/images/emoji/1f5c6.png Binary files differnew file mode 100644 index 000000000..8b62bb697 --- /dev/null +++ b/web/static/images/emoji/1f5c6.png diff --git a/web/static/images/emoji/1f5c7.png b/web/static/images/emoji/1f5c7.png Binary files differnew file mode 100644 index 000000000..1dc65dea6 --- /dev/null +++ b/web/static/images/emoji/1f5c7.png diff --git a/web/static/images/emoji/1f5c9.png b/web/static/images/emoji/1f5c9.png Binary files differnew file mode 100644 index 000000000..b435ba36c --- /dev/null +++ b/web/static/images/emoji/1f5c9.png diff --git a/web/static/images/emoji/1f5ca.png b/web/static/images/emoji/1f5ca.png Binary files differnew file mode 100644 index 000000000..868d40990 --- /dev/null +++ b/web/static/images/emoji/1f5ca.png diff --git a/web/static/images/emoji/1f5ce.png b/web/static/images/emoji/1f5ce.png Binary files differnew file mode 100644 index 000000000..1ef3ab963 --- /dev/null +++ b/web/static/images/emoji/1f5ce.png diff --git a/web/static/images/emoji/1f5cf.png b/web/static/images/emoji/1f5cf.png Binary files differnew file mode 100644 index 000000000..5c7c06403 --- /dev/null +++ b/web/static/images/emoji/1f5cf.png diff --git a/web/static/images/emoji/1f5d0.png b/web/static/images/emoji/1f5d0.png Binary files differnew file mode 100644 index 000000000..7d59ccd2d --- /dev/null +++ b/web/static/images/emoji/1f5d0.png diff --git a/web/static/images/emoji/1f5d1.png b/web/static/images/emoji/1f5d1.png Binary files differnew file mode 100644 index 000000000..3baef5973 --- /dev/null +++ b/web/static/images/emoji/1f5d1.png diff --git a/web/static/images/emoji/1f5d2.png b/web/static/images/emoji/1f5d2.png Binary files differnew file mode 100644 index 000000000..28bc54348 --- /dev/null +++ b/web/static/images/emoji/1f5d2.png diff --git a/web/static/images/emoji/1f5d3.png b/web/static/images/emoji/1f5d3.png Binary files differnew file mode 100644 index 000000000..ce73aecfa --- /dev/null +++ b/web/static/images/emoji/1f5d3.png diff --git a/web/static/images/emoji/1f5d4.png b/web/static/images/emoji/1f5d4.png Binary files differnew file mode 100644 index 000000000..237192814 --- /dev/null +++ b/web/static/images/emoji/1f5d4.png diff --git a/web/static/images/emoji/1f5d8.png b/web/static/images/emoji/1f5d8.png Binary files differnew file mode 100644 index 000000000..65b6a0ad9 --- /dev/null +++ b/web/static/images/emoji/1f5d8.png diff --git a/web/static/images/emoji/1f5d9.png b/web/static/images/emoji/1f5d9.png Binary files differnew file mode 100644 index 000000000..75c08401d --- /dev/null +++ b/web/static/images/emoji/1f5d9.png diff --git a/web/static/images/emoji/1f5dc.png b/web/static/images/emoji/1f5dc.png Binary files differnew file mode 100644 index 000000000..08c06264e --- /dev/null +++ b/web/static/images/emoji/1f5dc.png diff --git a/web/static/images/emoji/1f5dd.png b/web/static/images/emoji/1f5dd.png Binary files differnew file mode 100644 index 000000000..d153b6888 --- /dev/null +++ b/web/static/images/emoji/1f5dd.png diff --git a/web/static/images/emoji/1f5de.png b/web/static/images/emoji/1f5de.png Binary files differnew file mode 100644 index 000000000..4254eb5f2 --- /dev/null +++ b/web/static/images/emoji/1f5de.png diff --git a/web/static/images/emoji/1f5e0.png b/web/static/images/emoji/1f5e0.png Binary files differnew file mode 100644 index 000000000..d60c9803e --- /dev/null +++ b/web/static/images/emoji/1f5e0.png diff --git a/web/static/images/emoji/1f5e1.png b/web/static/images/emoji/1f5e1.png Binary files differnew file mode 100644 index 000000000..8bfeac95d --- /dev/null +++ b/web/static/images/emoji/1f5e1.png diff --git a/web/static/images/emoji/1f5e2.png b/web/static/images/emoji/1f5e2.png Binary files differnew file mode 100644 index 000000000..50f2cac22 --- /dev/null +++ b/web/static/images/emoji/1f5e2.png diff --git a/web/static/images/emoji/1f5e3.png b/web/static/images/emoji/1f5e3.png Binary files differnew file mode 100644 index 000000000..137a3c4c5 --- /dev/null +++ b/web/static/images/emoji/1f5e3.png diff --git a/web/static/images/emoji/1f5e8.png b/web/static/images/emoji/1f5e8.png Binary files differnew file mode 100644 index 000000000..81313baae --- /dev/null +++ b/web/static/images/emoji/1f5e8.png diff --git a/web/static/images/emoji/1f5e9.png b/web/static/images/emoji/1f5e9.png Binary files differnew file mode 100644 index 000000000..4644940a0 --- /dev/null +++ b/web/static/images/emoji/1f5e9.png diff --git a/web/static/images/emoji/1f5ea.png b/web/static/images/emoji/1f5ea.png Binary files differnew file mode 100644 index 000000000..41b490e79 --- /dev/null +++ b/web/static/images/emoji/1f5ea.png diff --git a/web/static/images/emoji/1f5eb.png b/web/static/images/emoji/1f5eb.png Binary files differnew file mode 100644 index 000000000..5b054548e --- /dev/null +++ b/web/static/images/emoji/1f5eb.png diff --git a/web/static/images/emoji/1f5ec.png b/web/static/images/emoji/1f5ec.png Binary files differnew file mode 100644 index 000000000..6d905ed80 --- /dev/null +++ b/web/static/images/emoji/1f5ec.png diff --git a/web/static/images/emoji/1f5ed.png b/web/static/images/emoji/1f5ed.png Binary files differnew file mode 100644 index 000000000..3ea461a24 --- /dev/null +++ b/web/static/images/emoji/1f5ed.png diff --git a/web/static/images/emoji/1f5ee.png b/web/static/images/emoji/1f5ee.png Binary files differnew file mode 100644 index 000000000..c4a4a073c --- /dev/null +++ b/web/static/images/emoji/1f5ee.png diff --git a/web/static/images/emoji/1f5ef.png b/web/static/images/emoji/1f5ef.png Binary files differnew file mode 100644 index 000000000..8e25fa6b4 --- /dev/null +++ b/web/static/images/emoji/1f5ef.png diff --git a/web/static/images/emoji/1f5f0.png b/web/static/images/emoji/1f5f0.png Binary files differnew file mode 100644 index 000000000..f99be5272 --- /dev/null +++ b/web/static/images/emoji/1f5f0.png diff --git a/web/static/images/emoji/1f5f1.png b/web/static/images/emoji/1f5f1.png Binary files differnew file mode 100644 index 000000000..6bdf533f1 --- /dev/null +++ b/web/static/images/emoji/1f5f1.png diff --git a/web/static/images/emoji/1f5f2.png b/web/static/images/emoji/1f5f2.png Binary files differnew file mode 100644 index 000000000..67dfb3633 --- /dev/null +++ b/web/static/images/emoji/1f5f2.png diff --git a/web/static/images/emoji/1f5f3.png b/web/static/images/emoji/1f5f3.png Binary files differnew file mode 100644 index 000000000..e97e4727e --- /dev/null +++ b/web/static/images/emoji/1f5f3.png diff --git a/web/static/images/emoji/1f5f4.png b/web/static/images/emoji/1f5f4.png Binary files differnew file mode 100644 index 000000000..431df8e24 --- /dev/null +++ b/web/static/images/emoji/1f5f4.png diff --git a/web/static/images/emoji/1f5f5.png b/web/static/images/emoji/1f5f5.png Binary files differnew file mode 100644 index 000000000..260410821 --- /dev/null +++ b/web/static/images/emoji/1f5f5.png diff --git a/web/static/images/emoji/1f5f8.png b/web/static/images/emoji/1f5f8.png Binary files differnew file mode 100644 index 000000000..350aaaa3e --- /dev/null +++ b/web/static/images/emoji/1f5f8.png diff --git a/web/static/images/emoji/1f5f9.png b/web/static/images/emoji/1f5f9.png Binary files differnew file mode 100644 index 000000000..ecbc97fa4 --- /dev/null +++ b/web/static/images/emoji/1f5f9.png diff --git a/web/static/images/emoji/1f5fa.png b/web/static/images/emoji/1f5fa.png Binary files differnew file mode 100644 index 000000000..799747f8f --- /dev/null +++ b/web/static/images/emoji/1f5fa.png diff --git a/web/static/images/emoji/1f5fb.png b/web/static/images/emoji/1f5fb.png Binary files differnew file mode 100644 index 000000000..51d1aeab1 --- /dev/null +++ b/web/static/images/emoji/1f5fb.png diff --git a/web/static/images/emoji/1f5fc.png b/web/static/images/emoji/1f5fc.png Binary files differnew file mode 100644 index 000000000..8833f08a5 --- /dev/null +++ b/web/static/images/emoji/1f5fc.png diff --git a/web/static/images/emoji/1f5fd.png b/web/static/images/emoji/1f5fd.png Binary files differnew file mode 100644 index 000000000..709fd6bff --- /dev/null +++ b/web/static/images/emoji/1f5fd.png diff --git a/web/static/images/emoji/1f5fe.png b/web/static/images/emoji/1f5fe.png Binary files differnew file mode 100644 index 000000000..79bb896f9 --- /dev/null +++ b/web/static/images/emoji/1f5fe.png diff --git a/web/static/images/emoji/1f5ff.png b/web/static/images/emoji/1f5ff.png Binary files differnew file mode 100644 index 000000000..247d34e25 --- /dev/null +++ b/web/static/images/emoji/1f5ff.png diff --git a/web/static/images/emoji/1f600.png b/web/static/images/emoji/1f600.png Binary files differnew file mode 100644 index 000000000..1a5edc7be --- /dev/null +++ b/web/static/images/emoji/1f600.png diff --git a/web/static/images/emoji/1f601.png b/web/static/images/emoji/1f601.png Binary files differnew file mode 100644 index 000000000..bf4d098b9 --- /dev/null +++ b/web/static/images/emoji/1f601.png diff --git a/web/static/images/emoji/1f602.png b/web/static/images/emoji/1f602.png Binary files differnew file mode 100644 index 000000000..bc1abb7a4 --- /dev/null +++ b/web/static/images/emoji/1f602.png diff --git a/web/static/images/emoji/1f603.png b/web/static/images/emoji/1f603.png Binary files differnew file mode 100644 index 000000000..eb281633c --- /dev/null +++ b/web/static/images/emoji/1f603.png diff --git a/web/static/images/emoji/1f604.png b/web/static/images/emoji/1f604.png Binary files differnew file mode 100644 index 000000000..63beffb17 --- /dev/null +++ b/web/static/images/emoji/1f604.png diff --git a/web/static/images/emoji/1f605.png b/web/static/images/emoji/1f605.png Binary files differnew file mode 100644 index 000000000..691ffa771 --- /dev/null +++ b/web/static/images/emoji/1f605.png diff --git a/web/static/images/emoji/1f606.png b/web/static/images/emoji/1f606.png Binary files differnew file mode 100644 index 000000000..d7e70b1a4 --- /dev/null +++ b/web/static/images/emoji/1f606.png diff --git a/web/static/images/emoji/1f607.png b/web/static/images/emoji/1f607.png Binary files differnew file mode 100644 index 000000000..1c449201d --- /dev/null +++ b/web/static/images/emoji/1f607.png diff --git a/web/static/images/emoji/1f608.png b/web/static/images/emoji/1f608.png Binary files differnew file mode 100644 index 000000000..6e36a04e7 --- /dev/null +++ b/web/static/images/emoji/1f608.png diff --git a/web/static/images/emoji/1f609.png b/web/static/images/emoji/1f609.png Binary files differnew file mode 100644 index 000000000..d2ae627f7 --- /dev/null +++ b/web/static/images/emoji/1f609.png diff --git a/web/static/images/emoji/1f60a.png b/web/static/images/emoji/1f60a.png Binary files differnew file mode 100644 index 000000000..1733df545 --- /dev/null +++ b/web/static/images/emoji/1f60a.png diff --git a/web/static/images/emoji/1f60b.png b/web/static/images/emoji/1f60b.png Binary files differnew file mode 100644 index 000000000..7a353a7e8 --- /dev/null +++ b/web/static/images/emoji/1f60b.png diff --git a/web/static/images/emoji/1f60c.png b/web/static/images/emoji/1f60c.png Binary files differnew file mode 100644 index 000000000..3cb7aeced --- /dev/null +++ b/web/static/images/emoji/1f60c.png diff --git a/web/static/images/emoji/1f60d.png b/web/static/images/emoji/1f60d.png Binary files differnew file mode 100644 index 000000000..c48431cb8 --- /dev/null +++ b/web/static/images/emoji/1f60d.png diff --git a/web/static/images/emoji/1f60e.png b/web/static/images/emoji/1f60e.png Binary files differnew file mode 100644 index 000000000..6d97948de --- /dev/null +++ b/web/static/images/emoji/1f60e.png diff --git a/web/static/images/emoji/1f60f.png b/web/static/images/emoji/1f60f.png Binary files differnew file mode 100644 index 000000000..c7b1ac127 --- /dev/null +++ b/web/static/images/emoji/1f60f.png diff --git a/web/static/images/emoji/1f610.png b/web/static/images/emoji/1f610.png Binary files differnew file mode 100644 index 000000000..6cabdf2f4 --- /dev/null +++ b/web/static/images/emoji/1f610.png diff --git a/web/static/images/emoji/1f611.png b/web/static/images/emoji/1f611.png Binary files differnew file mode 100644 index 000000000..404129c98 --- /dev/null +++ b/web/static/images/emoji/1f611.png diff --git a/web/static/images/emoji/1f612.png b/web/static/images/emoji/1f612.png Binary files differnew file mode 100644 index 000000000..9d406ca65 --- /dev/null +++ b/web/static/images/emoji/1f612.png diff --git a/web/static/images/emoji/1f613.png b/web/static/images/emoji/1f613.png Binary files differnew file mode 100644 index 000000000..1c590918c --- /dev/null +++ b/web/static/images/emoji/1f613.png diff --git a/web/static/images/emoji/1f614.png b/web/static/images/emoji/1f614.png Binary files differnew file mode 100644 index 000000000..ac55cb0f6 --- /dev/null +++ b/web/static/images/emoji/1f614.png diff --git a/web/static/images/emoji/1f615.png b/web/static/images/emoji/1f615.png Binary files differnew file mode 100644 index 000000000..6bb66752f --- /dev/null +++ b/web/static/images/emoji/1f615.png diff --git a/web/static/images/emoji/1f616.png b/web/static/images/emoji/1f616.png Binary files differnew file mode 100644 index 000000000..da0e1cad0 --- /dev/null +++ b/web/static/images/emoji/1f616.png diff --git a/web/static/images/emoji/1f617.png b/web/static/images/emoji/1f617.png Binary files differnew file mode 100644 index 000000000..b00212407 --- /dev/null +++ b/web/static/images/emoji/1f617.png diff --git a/web/static/images/emoji/1f618.png b/web/static/images/emoji/1f618.png Binary files differnew file mode 100644 index 000000000..834ee8ec9 --- /dev/null +++ b/web/static/images/emoji/1f618.png diff --git a/web/static/images/emoji/1f619.png b/web/static/images/emoji/1f619.png Binary files differnew file mode 100644 index 000000000..7cbac1bf0 --- /dev/null +++ b/web/static/images/emoji/1f619.png diff --git a/web/static/images/emoji/1f61a.png b/web/static/images/emoji/1f61a.png Binary files differnew file mode 100644 index 000000000..523ef0453 --- /dev/null +++ b/web/static/images/emoji/1f61a.png diff --git a/web/static/images/emoji/1f61b.png b/web/static/images/emoji/1f61b.png Binary files differnew file mode 100644 index 000000000..3fa455255 --- /dev/null +++ b/web/static/images/emoji/1f61b.png diff --git a/web/static/images/emoji/1f61c.png b/web/static/images/emoji/1f61c.png Binary files differnew file mode 100644 index 000000000..a93847556 --- /dev/null +++ b/web/static/images/emoji/1f61c.png diff --git a/web/static/images/emoji/1f61d.png b/web/static/images/emoji/1f61d.png Binary files differnew file mode 100644 index 000000000..b599a5f57 --- /dev/null +++ b/web/static/images/emoji/1f61d.png diff --git a/web/static/images/emoji/1f61e.png b/web/static/images/emoji/1f61e.png Binary files differnew file mode 100644 index 000000000..9643415e6 --- /dev/null +++ b/web/static/images/emoji/1f61e.png diff --git a/web/static/images/emoji/1f61f.png b/web/static/images/emoji/1f61f.png Binary files differnew file mode 100644 index 000000000..c26a5f5a4 --- /dev/null +++ b/web/static/images/emoji/1f61f.png diff --git a/web/static/images/emoji/1f620.png b/web/static/images/emoji/1f620.png Binary files differnew file mode 100644 index 000000000..103961ee4 --- /dev/null +++ b/web/static/images/emoji/1f620.png diff --git a/web/static/images/emoji/1f621.png b/web/static/images/emoji/1f621.png Binary files differnew file mode 100644 index 000000000..c7f2df28c --- /dev/null +++ b/web/static/images/emoji/1f621.png diff --git a/web/static/images/emoji/1f622.png b/web/static/images/emoji/1f622.png Binary files differnew file mode 100644 index 000000000..dd17cbcca --- /dev/null +++ b/web/static/images/emoji/1f622.png diff --git a/web/static/images/emoji/1f623.png b/web/static/images/emoji/1f623.png Binary files differnew file mode 100644 index 000000000..ba1550418 --- /dev/null +++ b/web/static/images/emoji/1f623.png diff --git a/web/static/images/emoji/1f624.png b/web/static/images/emoji/1f624.png Binary files differnew file mode 100644 index 000000000..5d0f2bf16 --- /dev/null +++ b/web/static/images/emoji/1f624.png diff --git a/web/static/images/emoji/1f625.png b/web/static/images/emoji/1f625.png Binary files differnew file mode 100644 index 000000000..bcea87523 --- /dev/null +++ b/web/static/images/emoji/1f625.png diff --git a/web/static/images/emoji/1f626.png b/web/static/images/emoji/1f626.png Binary files differnew file mode 100644 index 000000000..0593fe678 --- /dev/null +++ b/web/static/images/emoji/1f626.png diff --git a/web/static/images/emoji/1f627.png b/web/static/images/emoji/1f627.png Binary files differnew file mode 100644 index 000000000..31b14f781 --- /dev/null +++ b/web/static/images/emoji/1f627.png diff --git a/web/static/images/emoji/1f628.png b/web/static/images/emoji/1f628.png Binary files differnew file mode 100644 index 000000000..4ac78c208 --- /dev/null +++ b/web/static/images/emoji/1f628.png diff --git a/web/static/images/emoji/1f629.png b/web/static/images/emoji/1f629.png Binary files differnew file mode 100644 index 000000000..1c18789e8 --- /dev/null +++ b/web/static/images/emoji/1f629.png diff --git a/web/static/images/emoji/1f62a.png b/web/static/images/emoji/1f62a.png Binary files differnew file mode 100644 index 000000000..5269b493c --- /dev/null +++ b/web/static/images/emoji/1f62a.png diff --git a/web/static/images/emoji/1f62b.png b/web/static/images/emoji/1f62b.png Binary files differnew file mode 100644 index 000000000..adf5fa0fc --- /dev/null +++ b/web/static/images/emoji/1f62b.png diff --git a/web/static/images/emoji/1f62c.png b/web/static/images/emoji/1f62c.png Binary files differnew file mode 100644 index 000000000..ea4458d8f --- /dev/null +++ b/web/static/images/emoji/1f62c.png diff --git a/web/static/images/emoji/1f62d.png b/web/static/images/emoji/1f62d.png Binary files differnew file mode 100644 index 000000000..1339cc6ec --- /dev/null +++ b/web/static/images/emoji/1f62d.png diff --git a/web/static/images/emoji/1f62e.png b/web/static/images/emoji/1f62e.png Binary files differnew file mode 100644 index 000000000..3f9cc3fff --- /dev/null +++ b/web/static/images/emoji/1f62e.png diff --git a/web/static/images/emoji/1f62f.png b/web/static/images/emoji/1f62f.png Binary files differnew file mode 100644 index 000000000..443ed5811 --- /dev/null +++ b/web/static/images/emoji/1f62f.png diff --git a/web/static/images/emoji/1f630.png b/web/static/images/emoji/1f630.png Binary files differnew file mode 100644 index 000000000..f488a3ec3 --- /dev/null +++ b/web/static/images/emoji/1f630.png diff --git a/web/static/images/emoji/1f631.png b/web/static/images/emoji/1f631.png Binary files differnew file mode 100644 index 000000000..ea77d3e6b --- /dev/null +++ b/web/static/images/emoji/1f631.png diff --git a/web/static/images/emoji/1f632.png b/web/static/images/emoji/1f632.png Binary files differnew file mode 100644 index 000000000..7be652cab --- /dev/null +++ b/web/static/images/emoji/1f632.png diff --git a/web/static/images/emoji/1f633.png b/web/static/images/emoji/1f633.png Binary files differnew file mode 100644 index 000000000..44bd60154 --- /dev/null +++ b/web/static/images/emoji/1f633.png diff --git a/web/static/images/emoji/1f634.png b/web/static/images/emoji/1f634.png Binary files differnew file mode 100644 index 000000000..04ed2ea52 --- /dev/null +++ b/web/static/images/emoji/1f634.png diff --git a/web/static/images/emoji/1f635.png b/web/static/images/emoji/1f635.png Binary files differnew file mode 100644 index 000000000..a23dc7e31 --- /dev/null +++ b/web/static/images/emoji/1f635.png diff --git a/web/static/images/emoji/1f636.png b/web/static/images/emoji/1f636.png Binary files differnew file mode 100644 index 000000000..549fff988 --- /dev/null +++ b/web/static/images/emoji/1f636.png diff --git a/web/static/images/emoji/1f637.png b/web/static/images/emoji/1f637.png Binary files differnew file mode 100644 index 000000000..7110927b8 --- /dev/null +++ b/web/static/images/emoji/1f637.png diff --git a/web/static/images/emoji/1f638.png b/web/static/images/emoji/1f638.png Binary files differnew file mode 100644 index 000000000..c54e14b53 --- /dev/null +++ b/web/static/images/emoji/1f638.png diff --git a/web/static/images/emoji/1f639.png b/web/static/images/emoji/1f639.png Binary files differnew file mode 100644 index 000000000..15a2aa0e3 --- /dev/null +++ b/web/static/images/emoji/1f639.png diff --git a/web/static/images/emoji/1f63a.png b/web/static/images/emoji/1f63a.png Binary files differnew file mode 100644 index 000000000..93872133e --- /dev/null +++ b/web/static/images/emoji/1f63a.png diff --git a/web/static/images/emoji/1f63b.png b/web/static/images/emoji/1f63b.png Binary files differnew file mode 100644 index 000000000..7ef231efd --- /dev/null +++ b/web/static/images/emoji/1f63b.png diff --git a/web/static/images/emoji/1f63c.png b/web/static/images/emoji/1f63c.png Binary files differnew file mode 100644 index 000000000..6cb9d069d --- /dev/null +++ b/web/static/images/emoji/1f63c.png diff --git a/web/static/images/emoji/1f63d.png b/web/static/images/emoji/1f63d.png Binary files differnew file mode 100644 index 000000000..e62592137 --- /dev/null +++ b/web/static/images/emoji/1f63d.png diff --git a/web/static/images/emoji/1f63e.png b/web/static/images/emoji/1f63e.png Binary files differnew file mode 100644 index 000000000..a001bcfa7 --- /dev/null +++ b/web/static/images/emoji/1f63e.png diff --git a/web/static/images/emoji/1f63f.png b/web/static/images/emoji/1f63f.png Binary files differnew file mode 100644 index 000000000..c467c2198 --- /dev/null +++ b/web/static/images/emoji/1f63f.png diff --git a/web/static/images/emoji/1f640.png b/web/static/images/emoji/1f640.png Binary files differnew file mode 100644 index 000000000..a4e67e97d --- /dev/null +++ b/web/static/images/emoji/1f640.png diff --git a/web/static/images/emoji/1f641.png b/web/static/images/emoji/1f641.png Binary files differnew file mode 100644 index 000000000..55e16c1cf --- /dev/null +++ b/web/static/images/emoji/1f641.png diff --git a/web/static/images/emoji/1f642.png b/web/static/images/emoji/1f642.png Binary files differnew file mode 100644 index 000000000..1bb673b36 --- /dev/null +++ b/web/static/images/emoji/1f642.png diff --git a/web/static/images/emoji/1f645.png b/web/static/images/emoji/1f645.png Binary files differnew file mode 100644 index 000000000..d7eead9de --- /dev/null +++ b/web/static/images/emoji/1f645.png diff --git a/web/static/images/emoji/1f646.png b/web/static/images/emoji/1f646.png Binary files differnew file mode 100644 index 000000000..fcafef225 --- /dev/null +++ b/web/static/images/emoji/1f646.png diff --git a/web/static/images/emoji/1f647.png b/web/static/images/emoji/1f647.png Binary files differnew file mode 100644 index 000000000..f763bdfe9 --- /dev/null +++ b/web/static/images/emoji/1f647.png diff --git a/web/static/images/emoji/1f648.png b/web/static/images/emoji/1f648.png Binary files differnew file mode 100644 index 000000000..df1fb6607 --- /dev/null +++ b/web/static/images/emoji/1f648.png diff --git a/web/static/images/emoji/1f649.png b/web/static/images/emoji/1f649.png Binary files differnew file mode 100644 index 000000000..e909ebf24 --- /dev/null +++ b/web/static/images/emoji/1f649.png diff --git a/web/static/images/emoji/1f64a.png b/web/static/images/emoji/1f64a.png Binary files differnew file mode 100644 index 000000000..c6f76937f --- /dev/null +++ b/web/static/images/emoji/1f64a.png diff --git a/web/static/images/emoji/1f64b.png b/web/static/images/emoji/1f64b.png Binary files differnew file mode 100644 index 000000000..e9d54836a --- /dev/null +++ b/web/static/images/emoji/1f64b.png diff --git a/web/static/images/emoji/1f64c.png b/web/static/images/emoji/1f64c.png Binary files differnew file mode 100644 index 000000000..8dbc25f83 --- /dev/null +++ b/web/static/images/emoji/1f64c.png diff --git a/web/static/images/emoji/1f64d.png b/web/static/images/emoji/1f64d.png Binary files differnew file mode 100644 index 000000000..81dbb96cd --- /dev/null +++ b/web/static/images/emoji/1f64d.png diff --git a/web/static/images/emoji/1f64e.png b/web/static/images/emoji/1f64e.png Binary files differnew file mode 100644 index 000000000..466177621 --- /dev/null +++ b/web/static/images/emoji/1f64e.png diff --git a/web/static/images/emoji/1f64f.png b/web/static/images/emoji/1f64f.png Binary files differnew file mode 100644 index 000000000..47a5f03b2 --- /dev/null +++ b/web/static/images/emoji/1f64f.png diff --git a/web/static/images/emoji/1f680.png b/web/static/images/emoji/1f680.png Binary files differnew file mode 100644 index 000000000..0ca6d5fed --- /dev/null +++ b/web/static/images/emoji/1f680.png diff --git a/web/static/images/emoji/1f681.png b/web/static/images/emoji/1f681.png Binary files differnew file mode 100644 index 000000000..838acddc7 --- /dev/null +++ b/web/static/images/emoji/1f681.png diff --git a/web/static/images/emoji/1f682.png b/web/static/images/emoji/1f682.png Binary files differnew file mode 100644 index 000000000..f7c52db71 --- /dev/null +++ b/web/static/images/emoji/1f682.png diff --git a/web/static/images/emoji/1f683.png b/web/static/images/emoji/1f683.png Binary files differnew file mode 100644 index 000000000..82d808866 --- /dev/null +++ b/web/static/images/emoji/1f683.png diff --git a/web/static/images/emoji/1f684.png b/web/static/images/emoji/1f684.png Binary files differnew file mode 100644 index 000000000..37daa558f --- /dev/null +++ b/web/static/images/emoji/1f684.png diff --git a/web/static/images/emoji/1f685.png b/web/static/images/emoji/1f685.png Binary files differnew file mode 100644 index 000000000..14ab9c409 --- /dev/null +++ b/web/static/images/emoji/1f685.png diff --git a/web/static/images/emoji/1f686.png b/web/static/images/emoji/1f686.png Binary files differnew file mode 100644 index 000000000..22d843302 --- /dev/null +++ b/web/static/images/emoji/1f686.png diff --git a/web/static/images/emoji/1f687.png b/web/static/images/emoji/1f687.png Binary files differnew file mode 100644 index 000000000..747ab8ad1 --- /dev/null +++ b/web/static/images/emoji/1f687.png diff --git a/web/static/images/emoji/1f688.png b/web/static/images/emoji/1f688.png Binary files differnew file mode 100644 index 000000000..91cff3edb --- /dev/null +++ b/web/static/images/emoji/1f688.png diff --git a/web/static/images/emoji/1f689.png b/web/static/images/emoji/1f689.png Binary files differnew file mode 100644 index 000000000..970d2799d --- /dev/null +++ b/web/static/images/emoji/1f689.png diff --git a/web/static/images/emoji/1f68a.png b/web/static/images/emoji/1f68a.png Binary files differnew file mode 100644 index 000000000..851cf1827 --- /dev/null +++ b/web/static/images/emoji/1f68a.png diff --git a/web/static/images/emoji/1f68b.png b/web/static/images/emoji/1f68b.png Binary files differnew file mode 100644 index 000000000..93d810920 --- /dev/null +++ b/web/static/images/emoji/1f68b.png diff --git a/web/static/images/emoji/1f68c.png b/web/static/images/emoji/1f68c.png Binary files differnew file mode 100644 index 000000000..b4f9c0c1f --- /dev/null +++ b/web/static/images/emoji/1f68c.png diff --git a/web/static/images/emoji/1f68d.png b/web/static/images/emoji/1f68d.png Binary files differnew file mode 100644 index 000000000..bac2d85e3 --- /dev/null +++ b/web/static/images/emoji/1f68d.png diff --git a/web/static/images/emoji/1f68e.png b/web/static/images/emoji/1f68e.png Binary files differnew file mode 100644 index 000000000..5207d82da --- /dev/null +++ b/web/static/images/emoji/1f68e.png diff --git a/web/static/images/emoji/1f68f.png b/web/static/images/emoji/1f68f.png Binary files differnew file mode 100644 index 000000000..3e14a30b6 --- /dev/null +++ b/web/static/images/emoji/1f68f.png diff --git a/web/static/images/emoji/1f690.png b/web/static/images/emoji/1f690.png Binary files differnew file mode 100644 index 000000000..462d0a348 --- /dev/null +++ b/web/static/images/emoji/1f690.png diff --git a/web/static/images/emoji/1f691.png b/web/static/images/emoji/1f691.png Binary files differnew file mode 100644 index 000000000..9df138d9c --- /dev/null +++ b/web/static/images/emoji/1f691.png diff --git a/web/static/images/emoji/1f692.png b/web/static/images/emoji/1f692.png Binary files differnew file mode 100644 index 000000000..0336bfdf5 --- /dev/null +++ b/web/static/images/emoji/1f692.png diff --git a/web/static/images/emoji/1f693.png b/web/static/images/emoji/1f693.png Binary files differnew file mode 100644 index 000000000..4281ed3bb --- /dev/null +++ b/web/static/images/emoji/1f693.png diff --git a/web/static/images/emoji/1f694.png b/web/static/images/emoji/1f694.png Binary files differnew file mode 100644 index 000000000..2ab9c3302 --- /dev/null +++ b/web/static/images/emoji/1f694.png diff --git a/web/static/images/emoji/1f695.png b/web/static/images/emoji/1f695.png Binary files differnew file mode 100644 index 000000000..1b9af967a --- /dev/null +++ b/web/static/images/emoji/1f695.png diff --git a/web/static/images/emoji/1f696.png b/web/static/images/emoji/1f696.png Binary files differnew file mode 100644 index 000000000..108d49693 --- /dev/null +++ b/web/static/images/emoji/1f696.png diff --git a/web/static/images/emoji/1f697.png b/web/static/images/emoji/1f697.png Binary files differnew file mode 100644 index 000000000..e266bd21e --- /dev/null +++ b/web/static/images/emoji/1f697.png diff --git a/web/static/images/emoji/1f698.png b/web/static/images/emoji/1f698.png Binary files differnew file mode 100644 index 000000000..b9b0dafbf --- /dev/null +++ b/web/static/images/emoji/1f698.png diff --git a/web/static/images/emoji/1f699.png b/web/static/images/emoji/1f699.png Binary files differnew file mode 100644 index 000000000..0c2e833ff --- /dev/null +++ b/web/static/images/emoji/1f699.png diff --git a/web/static/images/emoji/1f69a.png b/web/static/images/emoji/1f69a.png Binary files differnew file mode 100644 index 000000000..ef99f12fb --- /dev/null +++ b/web/static/images/emoji/1f69a.png diff --git a/web/static/images/emoji/1f69b.png b/web/static/images/emoji/1f69b.png Binary files differnew file mode 100644 index 000000000..4447dcfb5 --- /dev/null +++ b/web/static/images/emoji/1f69b.png diff --git a/web/static/images/emoji/1f69c.png b/web/static/images/emoji/1f69c.png Binary files differnew file mode 100644 index 000000000..fcd4000c5 --- /dev/null +++ b/web/static/images/emoji/1f69c.png diff --git a/web/static/images/emoji/1f69d.png b/web/static/images/emoji/1f69d.png Binary files differnew file mode 100644 index 000000000..83ba5af45 --- /dev/null +++ b/web/static/images/emoji/1f69d.png diff --git a/web/static/images/emoji/1f69e.png b/web/static/images/emoji/1f69e.png Binary files differnew file mode 100644 index 000000000..c69df1f8f --- /dev/null +++ b/web/static/images/emoji/1f69e.png diff --git a/web/static/images/emoji/1f69f.png b/web/static/images/emoji/1f69f.png Binary files differnew file mode 100644 index 000000000..595e9b160 --- /dev/null +++ b/web/static/images/emoji/1f69f.png diff --git a/web/static/images/emoji/1f6a0.png b/web/static/images/emoji/1f6a0.png Binary files differnew file mode 100644 index 000000000..6dbd7307e --- /dev/null +++ b/web/static/images/emoji/1f6a0.png diff --git a/web/static/images/emoji/1f6a1.png b/web/static/images/emoji/1f6a1.png Binary files differnew file mode 100644 index 000000000..32d56bec7 --- /dev/null +++ b/web/static/images/emoji/1f6a1.png diff --git a/web/static/images/emoji/1f6a2.png b/web/static/images/emoji/1f6a2.png Binary files differnew file mode 100644 index 000000000..08465890d --- /dev/null +++ b/web/static/images/emoji/1f6a2.png diff --git a/web/static/images/emoji/1f6a3.png b/web/static/images/emoji/1f6a3.png Binary files differnew file mode 100644 index 000000000..3a16b632b --- /dev/null +++ b/web/static/images/emoji/1f6a3.png diff --git a/web/static/images/emoji/1f6a4.png b/web/static/images/emoji/1f6a4.png Binary files differnew file mode 100644 index 000000000..a6b11a72e --- /dev/null +++ b/web/static/images/emoji/1f6a4.png diff --git a/web/static/images/emoji/1f6a5.png b/web/static/images/emoji/1f6a5.png Binary files differnew file mode 100644 index 000000000..0a7704a26 --- /dev/null +++ b/web/static/images/emoji/1f6a5.png diff --git a/web/static/images/emoji/1f6a6.png b/web/static/images/emoji/1f6a6.png Binary files differnew file mode 100644 index 000000000..e533edda0 --- /dev/null +++ b/web/static/images/emoji/1f6a6.png diff --git a/web/static/images/emoji/1f6a7.png b/web/static/images/emoji/1f6a7.png Binary files differnew file mode 100644 index 000000000..d29f47b02 --- /dev/null +++ b/web/static/images/emoji/1f6a7.png diff --git a/web/static/images/emoji/1f6a8.png b/web/static/images/emoji/1f6a8.png Binary files differnew file mode 100644 index 000000000..72095645c --- /dev/null +++ b/web/static/images/emoji/1f6a8.png diff --git a/web/static/images/emoji/1f6a9.png b/web/static/images/emoji/1f6a9.png Binary files differnew file mode 100644 index 000000000..89a1429a3 --- /dev/null +++ b/web/static/images/emoji/1f6a9.png diff --git a/web/static/images/emoji/1f6aa.png b/web/static/images/emoji/1f6aa.png Binary files differnew file mode 100644 index 000000000..4c8695fee --- /dev/null +++ b/web/static/images/emoji/1f6aa.png diff --git a/web/static/images/emoji/1f6ab.png b/web/static/images/emoji/1f6ab.png Binary files differnew file mode 100644 index 000000000..6577a1058 --- /dev/null +++ b/web/static/images/emoji/1f6ab.png diff --git a/web/static/images/emoji/1f6ac.png b/web/static/images/emoji/1f6ac.png Binary files differnew file mode 100644 index 000000000..e8b49b893 --- /dev/null +++ b/web/static/images/emoji/1f6ac.png diff --git a/web/static/images/emoji/1f6ad.png b/web/static/images/emoji/1f6ad.png Binary files differnew file mode 100644 index 000000000..939a81ae8 --- /dev/null +++ b/web/static/images/emoji/1f6ad.png diff --git a/web/static/images/emoji/1f6ae.png b/web/static/images/emoji/1f6ae.png Binary files differnew file mode 100644 index 000000000..e1c1deb24 --- /dev/null +++ b/web/static/images/emoji/1f6ae.png diff --git a/web/static/images/emoji/1f6af.png b/web/static/images/emoji/1f6af.png Binary files differnew file mode 100644 index 000000000..c29f7edf6 --- /dev/null +++ b/web/static/images/emoji/1f6af.png diff --git a/web/static/images/emoji/1f6b0.png b/web/static/images/emoji/1f6b0.png Binary files differnew file mode 100644 index 000000000..9fd0e87e9 --- /dev/null +++ b/web/static/images/emoji/1f6b0.png diff --git a/web/static/images/emoji/1f6b1.png b/web/static/images/emoji/1f6b1.png Binary files differnew file mode 100644 index 000000000..34de27d65 --- /dev/null +++ b/web/static/images/emoji/1f6b1.png diff --git a/web/static/images/emoji/1f6b2.png b/web/static/images/emoji/1f6b2.png Binary files differnew file mode 100644 index 000000000..a37d60207 --- /dev/null +++ b/web/static/images/emoji/1f6b2.png diff --git a/web/static/images/emoji/1f6b3.png b/web/static/images/emoji/1f6b3.png Binary files differnew file mode 100644 index 000000000..278f1424e --- /dev/null +++ b/web/static/images/emoji/1f6b3.png diff --git a/web/static/images/emoji/1f6b4.png b/web/static/images/emoji/1f6b4.png Binary files differnew file mode 100644 index 000000000..15b4c9666 --- /dev/null +++ b/web/static/images/emoji/1f6b4.png diff --git a/web/static/images/emoji/1f6b5.png b/web/static/images/emoji/1f6b5.png Binary files differnew file mode 100644 index 000000000..d2aa6f821 --- /dev/null +++ b/web/static/images/emoji/1f6b5.png diff --git a/web/static/images/emoji/1f6b6.png b/web/static/images/emoji/1f6b6.png Binary files differnew file mode 100644 index 000000000..174c4d0e2 --- /dev/null +++ b/web/static/images/emoji/1f6b6.png diff --git a/web/static/images/emoji/1f6b7.png b/web/static/images/emoji/1f6b7.png Binary files differnew file mode 100644 index 000000000..b015b4eaf --- /dev/null +++ b/web/static/images/emoji/1f6b7.png diff --git a/web/static/images/emoji/1f6b8.png b/web/static/images/emoji/1f6b8.png Binary files differnew file mode 100644 index 000000000..56ad0fb15 --- /dev/null +++ b/web/static/images/emoji/1f6b8.png diff --git a/web/static/images/emoji/1f6b9.png b/web/static/images/emoji/1f6b9.png Binary files differnew file mode 100644 index 000000000..db526a641 --- /dev/null +++ b/web/static/images/emoji/1f6b9.png diff --git a/web/static/images/emoji/1f6ba.png b/web/static/images/emoji/1f6ba.png Binary files differnew file mode 100644 index 000000000..57a510e34 --- /dev/null +++ b/web/static/images/emoji/1f6ba.png diff --git a/web/static/images/emoji/1f6bb.png b/web/static/images/emoji/1f6bb.png Binary files differnew file mode 100644 index 000000000..76b3c2833 --- /dev/null +++ b/web/static/images/emoji/1f6bb.png diff --git a/web/static/images/emoji/1f6bc.png b/web/static/images/emoji/1f6bc.png Binary files differnew file mode 100644 index 000000000..c289fc5e5 --- /dev/null +++ b/web/static/images/emoji/1f6bc.png diff --git a/web/static/images/emoji/1f6bd.png b/web/static/images/emoji/1f6bd.png Binary files differnew file mode 100644 index 000000000..6cf5255d5 --- /dev/null +++ b/web/static/images/emoji/1f6bd.png diff --git a/web/static/images/emoji/1f6be.png b/web/static/images/emoji/1f6be.png Binary files differnew file mode 100644 index 000000000..b153f2c2a --- /dev/null +++ b/web/static/images/emoji/1f6be.png diff --git a/web/static/images/emoji/1f6bf.png b/web/static/images/emoji/1f6bf.png Binary files differnew file mode 100644 index 000000000..860c4da66 --- /dev/null +++ b/web/static/images/emoji/1f6bf.png diff --git a/web/static/images/emoji/1f6c0.png b/web/static/images/emoji/1f6c0.png Binary files differnew file mode 100644 index 000000000..faca8ba79 --- /dev/null +++ b/web/static/images/emoji/1f6c0.png diff --git a/web/static/images/emoji/1f6c1.png b/web/static/images/emoji/1f6c1.png Binary files differnew file mode 100644 index 000000000..86b2a2629 --- /dev/null +++ b/web/static/images/emoji/1f6c1.png diff --git a/web/static/images/emoji/1f6c2.png b/web/static/images/emoji/1f6c2.png Binary files differnew file mode 100644 index 000000000..51359c754 --- /dev/null +++ b/web/static/images/emoji/1f6c2.png diff --git a/web/static/images/emoji/1f6c3.png b/web/static/images/emoji/1f6c3.png Binary files differnew file mode 100644 index 000000000..8c6811ce7 --- /dev/null +++ b/web/static/images/emoji/1f6c3.png diff --git a/web/static/images/emoji/1f6c4.png b/web/static/images/emoji/1f6c4.png Binary files differnew file mode 100644 index 000000000..3c6c63aff --- /dev/null +++ b/web/static/images/emoji/1f6c4.png diff --git a/web/static/images/emoji/1f6c5.png b/web/static/images/emoji/1f6c5.png Binary files differnew file mode 100644 index 000000000..b39b9075f --- /dev/null +++ b/web/static/images/emoji/1f6c5.png diff --git a/web/static/images/emoji/1f6c6.png b/web/static/images/emoji/1f6c6.png Binary files differnew file mode 100644 index 000000000..4f3048f3b --- /dev/null +++ b/web/static/images/emoji/1f6c6.png diff --git a/web/static/images/emoji/1f6c7.png b/web/static/images/emoji/1f6c7.png Binary files differnew file mode 100644 index 000000000..ab45c0d19 --- /dev/null +++ b/web/static/images/emoji/1f6c7.png diff --git a/web/static/images/emoji/1f6c8.png b/web/static/images/emoji/1f6c8.png Binary files differnew file mode 100644 index 000000000..1adec5678 --- /dev/null +++ b/web/static/images/emoji/1f6c8.png diff --git a/web/static/images/emoji/1f6c9.png b/web/static/images/emoji/1f6c9.png Binary files differnew file mode 100644 index 000000000..ce9578948 --- /dev/null +++ b/web/static/images/emoji/1f6c9.png diff --git a/web/static/images/emoji/1f6ca.png b/web/static/images/emoji/1f6ca.png Binary files differnew file mode 100644 index 000000000..b8836a8ad --- /dev/null +++ b/web/static/images/emoji/1f6ca.png diff --git a/web/static/images/emoji/1f6cb.png b/web/static/images/emoji/1f6cb.png Binary files differnew file mode 100644 index 000000000..fe7473eef --- /dev/null +++ b/web/static/images/emoji/1f6cb.png diff --git a/web/static/images/emoji/1f6cc.png b/web/static/images/emoji/1f6cc.png Binary files differnew file mode 100644 index 000000000..4d232c9bb --- /dev/null +++ b/web/static/images/emoji/1f6cc.png diff --git a/web/static/images/emoji/1f6cd.png b/web/static/images/emoji/1f6cd.png Binary files differnew file mode 100644 index 000000000..c4aa0049c --- /dev/null +++ b/web/static/images/emoji/1f6cd.png diff --git a/web/static/images/emoji/1f6ce.png b/web/static/images/emoji/1f6ce.png Binary files differnew file mode 100644 index 000000000..5eb060df1 --- /dev/null +++ b/web/static/images/emoji/1f6ce.png diff --git a/web/static/images/emoji/1f6cf.png b/web/static/images/emoji/1f6cf.png Binary files differnew file mode 100644 index 000000000..2b23803bc --- /dev/null +++ b/web/static/images/emoji/1f6cf.png diff --git a/web/static/images/emoji/1f6e0.png b/web/static/images/emoji/1f6e0.png Binary files differnew file mode 100644 index 000000000..eeea685b4 --- /dev/null +++ b/web/static/images/emoji/1f6e0.png diff --git a/web/static/images/emoji/1f6e1.png b/web/static/images/emoji/1f6e1.png Binary files differnew file mode 100644 index 000000000..30a63a8bf --- /dev/null +++ b/web/static/images/emoji/1f6e1.png diff --git a/web/static/images/emoji/1f6e2.png b/web/static/images/emoji/1f6e2.png Binary files differnew file mode 100644 index 000000000..e7e597a98 --- /dev/null +++ b/web/static/images/emoji/1f6e2.png diff --git a/web/static/images/emoji/1f6e3.png b/web/static/images/emoji/1f6e3.png Binary files differnew file mode 100644 index 000000000..c7f7a5d48 --- /dev/null +++ b/web/static/images/emoji/1f6e3.png diff --git a/web/static/images/emoji/1f6e4.png b/web/static/images/emoji/1f6e4.png Binary files differnew file mode 100644 index 000000000..322831040 --- /dev/null +++ b/web/static/images/emoji/1f6e4.png diff --git a/web/static/images/emoji/1f6e5.png b/web/static/images/emoji/1f6e5.png Binary files differnew file mode 100644 index 000000000..1e720f431 --- /dev/null +++ b/web/static/images/emoji/1f6e5.png diff --git a/web/static/images/emoji/1f6e6.png b/web/static/images/emoji/1f6e6.png Binary files differnew file mode 100644 index 000000000..8b91ccced --- /dev/null +++ b/web/static/images/emoji/1f6e6.png diff --git a/web/static/images/emoji/1f6e7.png b/web/static/images/emoji/1f6e7.png Binary files differnew file mode 100644 index 000000000..a5f67a8a4 --- /dev/null +++ b/web/static/images/emoji/1f6e7.png diff --git a/web/static/images/emoji/1f6e8.png b/web/static/images/emoji/1f6e8.png Binary files differnew file mode 100644 index 000000000..85afe1f2a --- /dev/null +++ b/web/static/images/emoji/1f6e8.png diff --git a/web/static/images/emoji/1f6e9.png b/web/static/images/emoji/1f6e9.png Binary files differnew file mode 100644 index 000000000..bd369a205 --- /dev/null +++ b/web/static/images/emoji/1f6e9.png diff --git a/web/static/images/emoji/1f6ea.png b/web/static/images/emoji/1f6ea.png Binary files differnew file mode 100644 index 000000000..93456c816 --- /dev/null +++ b/web/static/images/emoji/1f6ea.png diff --git a/web/static/images/emoji/1f6eb.png b/web/static/images/emoji/1f6eb.png Binary files differnew file mode 100644 index 000000000..9b0f017be --- /dev/null +++ b/web/static/images/emoji/1f6eb.png diff --git a/web/static/images/emoji/1f6ec.png b/web/static/images/emoji/1f6ec.png Binary files differnew file mode 100644 index 000000000..4d754bf59 --- /dev/null +++ b/web/static/images/emoji/1f6ec.png diff --git a/web/static/images/emoji/1f6f0.png b/web/static/images/emoji/1f6f0.png Binary files differnew file mode 100644 index 000000000..52eec7627 --- /dev/null +++ b/web/static/images/emoji/1f6f0.png diff --git a/web/static/images/emoji/1f6f1.png b/web/static/images/emoji/1f6f1.png Binary files differnew file mode 100644 index 000000000..39cb17c82 --- /dev/null +++ b/web/static/images/emoji/1f6f1.png diff --git a/web/static/images/emoji/1f6f2.png b/web/static/images/emoji/1f6f2.png Binary files differnew file mode 100644 index 000000000..97066ea6e --- /dev/null +++ b/web/static/images/emoji/1f6f2.png diff --git a/web/static/images/emoji/1f6f3.png b/web/static/images/emoji/1f6f3.png Binary files differnew file mode 100644 index 000000000..512cb1200 --- /dev/null +++ b/web/static/images/emoji/1f6f3.png diff --git a/web/static/images/emoji/203c.png b/web/static/images/emoji/203c.png Binary files differnew file mode 100644 index 000000000..ab85c1d06 --- /dev/null +++ b/web/static/images/emoji/203c.png diff --git a/web/static/images/emoji/2049.png b/web/static/images/emoji/2049.png Binary files differnew file mode 100644 index 000000000..a8e1ec2a9 --- /dev/null +++ b/web/static/images/emoji/2049.png diff --git a/web/static/images/emoji/2122.png b/web/static/images/emoji/2122.png Binary files differnew file mode 100644 index 000000000..0ddad3d83 --- /dev/null +++ b/web/static/images/emoji/2122.png diff --git a/web/static/images/emoji/2139.png b/web/static/images/emoji/2139.png Binary files differnew file mode 100644 index 000000000..68059c871 --- /dev/null +++ b/web/static/images/emoji/2139.png diff --git a/web/static/images/emoji/2194.png b/web/static/images/emoji/2194.png Binary files differnew file mode 100644 index 000000000..9e5e99c58 --- /dev/null +++ b/web/static/images/emoji/2194.png diff --git a/web/static/images/emoji/2195.png b/web/static/images/emoji/2195.png Binary files differnew file mode 100644 index 000000000..bb668b036 --- /dev/null +++ b/web/static/images/emoji/2195.png diff --git a/web/static/images/emoji/2196.png b/web/static/images/emoji/2196.png Binary files differnew file mode 100644 index 000000000..5a75e42ba --- /dev/null +++ b/web/static/images/emoji/2196.png diff --git a/web/static/images/emoji/2197.png b/web/static/images/emoji/2197.png Binary files differnew file mode 100644 index 000000000..267322593 --- /dev/null +++ b/web/static/images/emoji/2197.png diff --git a/web/static/images/emoji/2198.png b/web/static/images/emoji/2198.png Binary files differnew file mode 100644 index 000000000..4e7757c23 --- /dev/null +++ b/web/static/images/emoji/2198.png diff --git a/web/static/images/emoji/2199.png b/web/static/images/emoji/2199.png Binary files differnew file mode 100644 index 000000000..c5b1a2f7a --- /dev/null +++ b/web/static/images/emoji/2199.png diff --git a/web/static/images/emoji/21a9.png b/web/static/images/emoji/21a9.png Binary files differnew file mode 100644 index 000000000..a9358a56e --- /dev/null +++ b/web/static/images/emoji/21a9.png diff --git a/web/static/images/emoji/21aa.png b/web/static/images/emoji/21aa.png Binary files differnew file mode 100644 index 000000000..0512301c9 --- /dev/null +++ b/web/static/images/emoji/21aa.png diff --git a/web/static/images/emoji/231a.png b/web/static/images/emoji/231a.png Binary files differnew file mode 100644 index 000000000..50f16588a --- /dev/null +++ b/web/static/images/emoji/231a.png diff --git a/web/static/images/emoji/231b.png b/web/static/images/emoji/231b.png Binary files differnew file mode 100644 index 000000000..06799f8c5 --- /dev/null +++ b/web/static/images/emoji/231b.png diff --git a/web/static/images/emoji/23e9.png b/web/static/images/emoji/23e9.png Binary files differnew file mode 100644 index 000000000..dda9bec2a --- /dev/null +++ b/web/static/images/emoji/23e9.png diff --git a/web/static/images/emoji/23ea.png b/web/static/images/emoji/23ea.png Binary files differnew file mode 100644 index 000000000..cd693f938 --- /dev/null +++ b/web/static/images/emoji/23ea.png diff --git a/web/static/images/emoji/23eb.png b/web/static/images/emoji/23eb.png Binary files differnew file mode 100644 index 000000000..0878d9436 --- /dev/null +++ b/web/static/images/emoji/23eb.png diff --git a/web/static/images/emoji/23ec.png b/web/static/images/emoji/23ec.png Binary files differnew file mode 100644 index 000000000..698156f8d --- /dev/null +++ b/web/static/images/emoji/23ec.png diff --git a/web/static/images/emoji/23f0.png b/web/static/images/emoji/23f0.png Binary files differnew file mode 100644 index 000000000..3f466f3a7 --- /dev/null +++ b/web/static/images/emoji/23f0.png diff --git a/web/static/images/emoji/23f3.png b/web/static/images/emoji/23f3.png Binary files differnew file mode 100644 index 000000000..bb0bbd8f7 --- /dev/null +++ b/web/static/images/emoji/23f3.png diff --git a/web/static/images/emoji/24c2.png b/web/static/images/emoji/24c2.png Binary files differnew file mode 100644 index 000000000..7de289795 --- /dev/null +++ b/web/static/images/emoji/24c2.png diff --git a/web/static/images/emoji/25aa.png b/web/static/images/emoji/25aa.png Binary files differnew file mode 100644 index 000000000..5a5559241 --- /dev/null +++ b/web/static/images/emoji/25aa.png diff --git a/web/static/images/emoji/25ab.png b/web/static/images/emoji/25ab.png Binary files differnew file mode 100644 index 000000000..5b115d325 --- /dev/null +++ b/web/static/images/emoji/25ab.png diff --git a/web/static/images/emoji/25b6.png b/web/static/images/emoji/25b6.png Binary files differnew file mode 100644 index 000000000..cbc672c1e --- /dev/null +++ b/web/static/images/emoji/25b6.png diff --git a/web/static/images/emoji/25c0.png b/web/static/images/emoji/25c0.png Binary files differnew file mode 100644 index 000000000..66b208dd9 --- /dev/null +++ b/web/static/images/emoji/25c0.png diff --git a/web/static/images/emoji/25fb.png b/web/static/images/emoji/25fb.png Binary files differnew file mode 100644 index 000000000..f3c39550f --- /dev/null +++ b/web/static/images/emoji/25fb.png diff --git a/web/static/images/emoji/25fc.png b/web/static/images/emoji/25fc.png Binary files differnew file mode 100644 index 000000000..0250c07f4 --- /dev/null +++ b/web/static/images/emoji/25fc.png diff --git a/web/static/images/emoji/25fd.png b/web/static/images/emoji/25fd.png Binary files differnew file mode 100644 index 000000000..7a34786e8 --- /dev/null +++ b/web/static/images/emoji/25fd.png diff --git a/web/static/images/emoji/25fe.png b/web/static/images/emoji/25fe.png Binary files differnew file mode 100644 index 000000000..6dd0df1c9 --- /dev/null +++ b/web/static/images/emoji/25fe.png diff --git a/web/static/images/emoji/2600.png b/web/static/images/emoji/2600.png Binary files differnew file mode 100644 index 000000000..d4f88fb8b --- /dev/null +++ b/web/static/images/emoji/2600.png diff --git a/web/static/images/emoji/2601.png b/web/static/images/emoji/2601.png Binary files differnew file mode 100644 index 000000000..559c52f76 --- /dev/null +++ b/web/static/images/emoji/2601.png diff --git a/web/static/images/emoji/260e.png b/web/static/images/emoji/260e.png Binary files differnew file mode 100644 index 000000000..6a14f1bfe --- /dev/null +++ b/web/static/images/emoji/260e.png diff --git a/web/static/images/emoji/2611.png b/web/static/images/emoji/2611.png Binary files differnew file mode 100644 index 000000000..e9826b1db --- /dev/null +++ b/web/static/images/emoji/2611.png diff --git a/web/static/images/emoji/2614.png b/web/static/images/emoji/2614.png Binary files differnew file mode 100644 index 000000000..83672dd6c --- /dev/null +++ b/web/static/images/emoji/2614.png diff --git a/web/static/images/emoji/2615.png b/web/static/images/emoji/2615.png Binary files differnew file mode 100644 index 000000000..109505f51 --- /dev/null +++ b/web/static/images/emoji/2615.png diff --git a/web/static/images/emoji/261d.png b/web/static/images/emoji/261d.png Binary files differnew file mode 100644 index 000000000..387fe59e2 --- /dev/null +++ b/web/static/images/emoji/261d.png diff --git a/web/static/images/emoji/263a.png b/web/static/images/emoji/263a.png Binary files differnew file mode 100644 index 000000000..ea6e93a65 --- /dev/null +++ b/web/static/images/emoji/263a.png diff --git a/web/static/images/emoji/2648.png b/web/static/images/emoji/2648.png Binary files differnew file mode 100644 index 000000000..8c26a2400 --- /dev/null +++ b/web/static/images/emoji/2648.png diff --git a/web/static/images/emoji/2649.png b/web/static/images/emoji/2649.png Binary files differnew file mode 100644 index 000000000..3d3434ccf --- /dev/null +++ b/web/static/images/emoji/2649.png diff --git a/web/static/images/emoji/264a.png b/web/static/images/emoji/264a.png Binary files differnew file mode 100644 index 000000000..3d34ba7ca --- /dev/null +++ b/web/static/images/emoji/264a.png diff --git a/web/static/images/emoji/264b.png b/web/static/images/emoji/264b.png Binary files differnew file mode 100644 index 000000000..6375eabb5 --- /dev/null +++ b/web/static/images/emoji/264b.png diff --git a/web/static/images/emoji/264c.png b/web/static/images/emoji/264c.png Binary files differnew file mode 100644 index 000000000..2290f822a --- /dev/null +++ b/web/static/images/emoji/264c.png diff --git a/web/static/images/emoji/264d.png b/web/static/images/emoji/264d.png Binary files differnew file mode 100644 index 000000000..238424313 --- /dev/null +++ b/web/static/images/emoji/264d.png diff --git a/web/static/images/emoji/264e.png b/web/static/images/emoji/264e.png Binary files differnew file mode 100644 index 000000000..3f3c33443 --- /dev/null +++ b/web/static/images/emoji/264e.png diff --git a/web/static/images/emoji/264f.png b/web/static/images/emoji/264f.png Binary files differnew file mode 100644 index 000000000..f903e7665 --- /dev/null +++ b/web/static/images/emoji/264f.png diff --git a/web/static/images/emoji/2650.png b/web/static/images/emoji/2650.png Binary files differnew file mode 100644 index 000000000..b5d55c10f --- /dev/null +++ b/web/static/images/emoji/2650.png diff --git a/web/static/images/emoji/2651.png b/web/static/images/emoji/2651.png Binary files differnew file mode 100644 index 000000000..255ac3183 --- /dev/null +++ b/web/static/images/emoji/2651.png diff --git a/web/static/images/emoji/2652.png b/web/static/images/emoji/2652.png Binary files differnew file mode 100644 index 000000000..2e645c9e3 --- /dev/null +++ b/web/static/images/emoji/2652.png diff --git a/web/static/images/emoji/2653.png b/web/static/images/emoji/2653.png Binary files differnew file mode 100644 index 000000000..939b88e60 --- /dev/null +++ b/web/static/images/emoji/2653.png diff --git a/web/static/images/emoji/2660.png b/web/static/images/emoji/2660.png Binary files differnew file mode 100644 index 000000000..1cb4bea46 --- /dev/null +++ b/web/static/images/emoji/2660.png diff --git a/web/static/images/emoji/2663.png b/web/static/images/emoji/2663.png Binary files differnew file mode 100644 index 000000000..307231d98 --- /dev/null +++ b/web/static/images/emoji/2663.png diff --git a/web/static/images/emoji/2665.png b/web/static/images/emoji/2665.png Binary files differnew file mode 100644 index 000000000..994a062cc --- /dev/null +++ b/web/static/images/emoji/2665.png diff --git a/web/static/images/emoji/2666.png b/web/static/images/emoji/2666.png Binary files differnew file mode 100644 index 000000000..3e153dbe8 --- /dev/null +++ b/web/static/images/emoji/2666.png diff --git a/web/static/images/emoji/2668.png b/web/static/images/emoji/2668.png Binary files differnew file mode 100644 index 000000000..dbe158292 --- /dev/null +++ b/web/static/images/emoji/2668.png diff --git a/web/static/images/emoji/267b.png b/web/static/images/emoji/267b.png Binary files differnew file mode 100644 index 000000000..181391e86 --- /dev/null +++ b/web/static/images/emoji/267b.png diff --git a/web/static/images/emoji/267f.png b/web/static/images/emoji/267f.png Binary files differnew file mode 100644 index 000000000..638696ca9 --- /dev/null +++ b/web/static/images/emoji/267f.png diff --git a/web/static/images/emoji/2693.png b/web/static/images/emoji/2693.png Binary files differnew file mode 100644 index 000000000..f2a8200f0 --- /dev/null +++ b/web/static/images/emoji/2693.png diff --git a/web/static/images/emoji/26a0.png b/web/static/images/emoji/26a0.png Binary files differnew file mode 100644 index 000000000..8a5dd577a --- /dev/null +++ b/web/static/images/emoji/26a0.png diff --git a/web/static/images/emoji/26a1.png b/web/static/images/emoji/26a1.png Binary files differnew file mode 100644 index 000000000..96ec4dccb --- /dev/null +++ b/web/static/images/emoji/26a1.png diff --git a/web/static/images/emoji/26aa.png b/web/static/images/emoji/26aa.png Binary files differnew file mode 100644 index 000000000..84e8a43a2 --- /dev/null +++ b/web/static/images/emoji/26aa.png diff --git a/web/static/images/emoji/26ab.png b/web/static/images/emoji/26ab.png Binary files differnew file mode 100644 index 000000000..a9f021517 --- /dev/null +++ b/web/static/images/emoji/26ab.png diff --git a/web/static/images/emoji/26bd.png b/web/static/images/emoji/26bd.png Binary files differnew file mode 100644 index 000000000..a5b188cef --- /dev/null +++ b/web/static/images/emoji/26bd.png diff --git a/web/static/images/emoji/26be.png b/web/static/images/emoji/26be.png Binary files differnew file mode 100644 index 000000000..4ba7a75a6 --- /dev/null +++ b/web/static/images/emoji/26be.png diff --git a/web/static/images/emoji/26c4.png b/web/static/images/emoji/26c4.png Binary files differnew file mode 100644 index 000000000..5cfd23ec0 --- /dev/null +++ b/web/static/images/emoji/26c4.png diff --git a/web/static/images/emoji/26c5.png b/web/static/images/emoji/26c5.png Binary files differnew file mode 100644 index 000000000..a5c8d31b8 --- /dev/null +++ b/web/static/images/emoji/26c5.png diff --git a/web/static/images/emoji/26ce.png b/web/static/images/emoji/26ce.png Binary files differnew file mode 100644 index 000000000..600ad3a3c --- /dev/null +++ b/web/static/images/emoji/26ce.png diff --git a/web/static/images/emoji/26d4.png b/web/static/images/emoji/26d4.png Binary files differnew file mode 100644 index 000000000..aca2edaa7 --- /dev/null +++ b/web/static/images/emoji/26d4.png diff --git a/web/static/images/emoji/26ea.png b/web/static/images/emoji/26ea.png Binary files differnew file mode 100644 index 000000000..e1f25e25a --- /dev/null +++ b/web/static/images/emoji/26ea.png diff --git a/web/static/images/emoji/26f2.png b/web/static/images/emoji/26f2.png Binary files differnew file mode 100644 index 000000000..465d2a127 --- /dev/null +++ b/web/static/images/emoji/26f2.png diff --git a/web/static/images/emoji/26f3.png b/web/static/images/emoji/26f3.png Binary files differnew file mode 100644 index 000000000..c03f80917 --- /dev/null +++ b/web/static/images/emoji/26f3.png diff --git a/web/static/images/emoji/26f5.png b/web/static/images/emoji/26f5.png Binary files differnew file mode 100644 index 000000000..9e862f831 --- /dev/null +++ b/web/static/images/emoji/26f5.png diff --git a/web/static/images/emoji/26fa.png b/web/static/images/emoji/26fa.png Binary files differnew file mode 100644 index 000000000..db3101b4a --- /dev/null +++ b/web/static/images/emoji/26fa.png diff --git a/web/static/images/emoji/26fd.png b/web/static/images/emoji/26fd.png Binary files differnew file mode 100644 index 000000000..db5b15c89 --- /dev/null +++ b/web/static/images/emoji/26fd.png diff --git a/web/static/images/emoji/2702.png b/web/static/images/emoji/2702.png Binary files differnew file mode 100644 index 000000000..0a2d1b07f --- /dev/null +++ b/web/static/images/emoji/2702.png diff --git a/web/static/images/emoji/2705.png b/web/static/images/emoji/2705.png Binary files differnew file mode 100644 index 000000000..241a4f6f9 --- /dev/null +++ b/web/static/images/emoji/2705.png diff --git a/web/static/images/emoji/2708.png b/web/static/images/emoji/2708.png Binary files differnew file mode 100644 index 000000000..bf1786717 --- /dev/null +++ b/web/static/images/emoji/2708.png diff --git a/web/static/images/emoji/2709.png b/web/static/images/emoji/2709.png Binary files differnew file mode 100644 index 000000000..c0bb4ebfd --- /dev/null +++ b/web/static/images/emoji/2709.png diff --git a/web/static/images/emoji/270a.png b/web/static/images/emoji/270a.png Binary files differnew file mode 100644 index 000000000..97e5b0639 --- /dev/null +++ b/web/static/images/emoji/270a.png diff --git a/web/static/images/emoji/270b.png b/web/static/images/emoji/270b.png Binary files differnew file mode 100644 index 000000000..89de966a3 --- /dev/null +++ b/web/static/images/emoji/270b.png diff --git a/web/static/images/emoji/270c.png b/web/static/images/emoji/270c.png Binary files differnew file mode 100644 index 000000000..0b7aa52d1 --- /dev/null +++ b/web/static/images/emoji/270c.png diff --git a/web/static/images/emoji/270f.png b/web/static/images/emoji/270f.png Binary files differnew file mode 100644 index 000000000..693ee8429 --- /dev/null +++ b/web/static/images/emoji/270f.png diff --git a/web/static/images/emoji/2712.png b/web/static/images/emoji/2712.png Binary files differnew file mode 100644 index 000000000..6f1a76cde --- /dev/null +++ b/web/static/images/emoji/2712.png diff --git a/web/static/images/emoji/2714.png b/web/static/images/emoji/2714.png Binary files differnew file mode 100644 index 000000000..239ea09ee --- /dev/null +++ b/web/static/images/emoji/2714.png diff --git a/web/static/images/emoji/2716.png b/web/static/images/emoji/2716.png Binary files differnew file mode 100644 index 000000000..a75fd57e0 --- /dev/null +++ b/web/static/images/emoji/2716.png diff --git a/web/static/images/emoji/2728.png b/web/static/images/emoji/2728.png Binary files differnew file mode 100644 index 000000000..f7faa7270 --- /dev/null +++ b/web/static/images/emoji/2728.png diff --git a/web/static/images/emoji/2733.png b/web/static/images/emoji/2733.png Binary files differnew file mode 100644 index 000000000..aaa681d4f --- /dev/null +++ b/web/static/images/emoji/2733.png diff --git a/web/static/images/emoji/2734.png b/web/static/images/emoji/2734.png Binary files differnew file mode 100644 index 000000000..ea1ba7edb --- /dev/null +++ b/web/static/images/emoji/2734.png diff --git a/web/static/images/emoji/2744.png b/web/static/images/emoji/2744.png Binary files differnew file mode 100644 index 000000000..743b9fd98 --- /dev/null +++ b/web/static/images/emoji/2744.png diff --git a/web/static/images/emoji/2747.png b/web/static/images/emoji/2747.png Binary files differnew file mode 100644 index 000000000..cb37090c7 --- /dev/null +++ b/web/static/images/emoji/2747.png diff --git a/web/static/images/emoji/274c.png b/web/static/images/emoji/274c.png Binary files differnew file mode 100644 index 000000000..18de93090 --- /dev/null +++ b/web/static/images/emoji/274c.png diff --git a/web/static/images/emoji/274e.png b/web/static/images/emoji/274e.png Binary files differnew file mode 100644 index 000000000..90ca18394 --- /dev/null +++ b/web/static/images/emoji/274e.png diff --git a/web/static/images/emoji/2753.png b/web/static/images/emoji/2753.png Binary files differnew file mode 100644 index 000000000..9e84758ee --- /dev/null +++ b/web/static/images/emoji/2753.png diff --git a/web/static/images/emoji/2754.png b/web/static/images/emoji/2754.png Binary files differnew file mode 100644 index 000000000..7808b13e3 --- /dev/null +++ b/web/static/images/emoji/2754.png diff --git a/web/static/images/emoji/2755.png b/web/static/images/emoji/2755.png Binary files differnew file mode 100644 index 000000000..759d6e7f7 --- /dev/null +++ b/web/static/images/emoji/2755.png diff --git a/web/static/images/emoji/2757.png b/web/static/images/emoji/2757.png Binary files differnew file mode 100644 index 000000000..b8fca78bc --- /dev/null +++ b/web/static/images/emoji/2757.png diff --git a/web/static/images/emoji/2764.png b/web/static/images/emoji/2764.png Binary files differnew file mode 100644 index 000000000..af35e2223 --- /dev/null +++ b/web/static/images/emoji/2764.png diff --git a/web/static/images/emoji/2795.png b/web/static/images/emoji/2795.png Binary files differnew file mode 100644 index 000000000..198cde00e --- /dev/null +++ b/web/static/images/emoji/2795.png diff --git a/web/static/images/emoji/2796.png b/web/static/images/emoji/2796.png Binary files differnew file mode 100644 index 000000000..60195e0d4 --- /dev/null +++ b/web/static/images/emoji/2796.png diff --git a/web/static/images/emoji/2797.png b/web/static/images/emoji/2797.png Binary files differnew file mode 100644 index 000000000..b883d27f5 --- /dev/null +++ b/web/static/images/emoji/2797.png diff --git a/web/static/images/emoji/27a1.png b/web/static/images/emoji/27a1.png Binary files differnew file mode 100644 index 000000000..67ab92488 --- /dev/null +++ b/web/static/images/emoji/27a1.png diff --git a/web/static/images/emoji/27b0.png b/web/static/images/emoji/27b0.png Binary files differnew file mode 100644 index 000000000..1c7b496c5 --- /dev/null +++ b/web/static/images/emoji/27b0.png diff --git a/web/static/images/emoji/27bf.png b/web/static/images/emoji/27bf.png Binary files differnew file mode 100644 index 000000000..a9b9248ba --- /dev/null +++ b/web/static/images/emoji/27bf.png diff --git a/web/static/images/emoji/2934.png b/web/static/images/emoji/2934.png Binary files differnew file mode 100644 index 000000000..b6c5b0610 --- /dev/null +++ b/web/static/images/emoji/2934.png diff --git a/web/static/images/emoji/2935.png b/web/static/images/emoji/2935.png Binary files differnew file mode 100644 index 000000000..79234629f --- /dev/null +++ b/web/static/images/emoji/2935.png diff --git a/web/static/images/emoji/2b05.png b/web/static/images/emoji/2b05.png Binary files differnew file mode 100644 index 000000000..58a76a59c --- /dev/null +++ b/web/static/images/emoji/2b05.png diff --git a/web/static/images/emoji/2b06.png b/web/static/images/emoji/2b06.png Binary files differnew file mode 100644 index 000000000..d50437a6a --- /dev/null +++ b/web/static/images/emoji/2b06.png diff --git a/web/static/images/emoji/2b07.png b/web/static/images/emoji/2b07.png Binary files differnew file mode 100644 index 000000000..cf9664792 --- /dev/null +++ b/web/static/images/emoji/2b07.png diff --git a/web/static/images/emoji/2b1b.png b/web/static/images/emoji/2b1b.png Binary files differnew file mode 100644 index 000000000..a8ca8cb81 --- /dev/null +++ b/web/static/images/emoji/2b1b.png diff --git a/web/static/images/emoji/2b1c.png b/web/static/images/emoji/2b1c.png Binary files differnew file mode 100644 index 000000000..2f6071f06 --- /dev/null +++ b/web/static/images/emoji/2b1c.png diff --git a/web/static/images/emoji/2b50.png b/web/static/images/emoji/2b50.png Binary files differnew file mode 100644 index 000000000..00f6758a2 --- /dev/null +++ b/web/static/images/emoji/2b50.png diff --git a/web/static/images/emoji/2b55.png b/web/static/images/emoji/2b55.png Binary files differnew file mode 100644 index 000000000..f141dc452 --- /dev/null +++ b/web/static/images/emoji/2b55.png diff --git a/web/static/images/emoji/3030.png b/web/static/images/emoji/3030.png Binary files differnew file mode 100644 index 000000000..3b346827b --- /dev/null +++ b/web/static/images/emoji/3030.png diff --git a/web/static/images/emoji/303d.png b/web/static/images/emoji/303d.png Binary files differnew file mode 100644 index 000000000..d39063ed9 --- /dev/null +++ b/web/static/images/emoji/303d.png diff --git a/web/static/images/emoji/3297.png b/web/static/images/emoji/3297.png Binary files differnew file mode 100644 index 000000000..b3ffe6fe4 --- /dev/null +++ b/web/static/images/emoji/3297.png diff --git a/web/static/images/emoji/3299.png b/web/static/images/emoji/3299.png Binary files differnew file mode 100644 index 000000000..5ff746bec --- /dev/null +++ b/web/static/images/emoji/3299.png diff --git a/web/static/images/emoji/8ball.png b/web/static/images/emoji/8ball.png Binary files differindex c2c710d45..7bf80b6d7 100755..100644 --- a/web/static/images/emoji/8ball.png +++ b/web/static/images/emoji/8ball.png diff --git a/web/static/images/emoji/a.png b/web/static/images/emoji/a.png Binary files differindex 09ff6d6f1..7b1f9663c 100755..100644 --- a/web/static/images/emoji/a.png +++ b/web/static/images/emoji/a.png diff --git a/web/static/images/emoji/ab.png b/web/static/images/emoji/ab.png Binary files differindex 2a5222047..386ec09fe 100755..100644 --- a/web/static/images/emoji/ab.png +++ b/web/static/images/emoji/ab.png diff --git a/web/static/images/emoji/abc.png b/web/static/images/emoji/abc.png Binary files differindex 505d40a15..51dc1bf76 100755..100644 --- a/web/static/images/emoji/abc.png +++ b/web/static/images/emoji/abc.png diff --git a/web/static/images/emoji/abcd.png b/web/static/images/emoji/abcd.png Binary files differindex 5218470b6..a79d4311d 100755..100644 --- a/web/static/images/emoji/abcd.png +++ b/web/static/images/emoji/abcd.png diff --git a/web/static/images/emoji/accept.png b/web/static/images/emoji/accept.png Binary files differindex 2d2009031..10cf9e29a 100755..100644 --- a/web/static/images/emoji/accept.png +++ b/web/static/images/emoji/accept.png diff --git a/web/static/images/emoji/admission_tickets.png b/web/static/images/emoji/admission_tickets.png Binary files differnew file mode 100644 index 000000000..e12819269 --- /dev/null +++ b/web/static/images/emoji/admission_tickets.png diff --git a/web/static/images/emoji/aerial_tramway.png b/web/static/images/emoji/aerial_tramway.png Binary files differindex 38f6dfe23..32d56bec7 100755..100644 --- a/web/static/images/emoji/aerial_tramway.png +++ b/web/static/images/emoji/aerial_tramway.png diff --git a/web/static/images/emoji/airplane.png b/web/static/images/emoji/airplane.png Binary files differindex 8407cb675..bf1786717 100755..100644 --- a/web/static/images/emoji/airplane.png +++ b/web/static/images/emoji/airplane.png diff --git a/web/static/images/emoji/airplane_arriving.png b/web/static/images/emoji/airplane_arriving.png Binary files differnew file mode 100644 index 000000000..4d754bf59 --- /dev/null +++ b/web/static/images/emoji/airplane_arriving.png diff --git a/web/static/images/emoji/airplane_departure.png b/web/static/images/emoji/airplane_departure.png Binary files differnew file mode 100644 index 000000000..9b0f017be --- /dev/null +++ b/web/static/images/emoji/airplane_departure.png diff --git a/web/static/images/emoji/alarm_clock.png b/web/static/images/emoji/alarm_clock.png Binary files differindex 86ca8c8ed..3f466f3a7 100755..100644 --- a/web/static/images/emoji/alarm_clock.png +++ b/web/static/images/emoji/alarm_clock.png diff --git a/web/static/images/emoji/alien.png b/web/static/images/emoji/alien.png Binary files differindex 416de47be..6d0fc8399 100755..100644 --- a/web/static/images/emoji/alien.png +++ b/web/static/images/emoji/alien.png diff --git a/web/static/images/emoji/ambulance.png b/web/static/images/emoji/ambulance.png Binary files differindex b740f45db..9df138d9c 100755..100644 --- a/web/static/images/emoji/ambulance.png +++ b/web/static/images/emoji/ambulance.png diff --git a/web/static/images/emoji/anchor.png b/web/static/images/emoji/anchor.png Binary files differindex 0c5192e64..f2a8200f0 100755..100644 --- a/web/static/images/emoji/anchor.png +++ b/web/static/images/emoji/anchor.png diff --git a/web/static/images/emoji/angel.png b/web/static/images/emoji/angel.png Binary files differindex da52c310c..46546001f 100755..100644 --- a/web/static/images/emoji/angel.png +++ b/web/static/images/emoji/angel.png diff --git a/web/static/images/emoji/anger.png b/web/static/images/emoji/anger.png Binary files differindex 6fb4dca18..f69aa08d4 100755..100644 --- a/web/static/images/emoji/anger.png +++ b/web/static/images/emoji/anger.png diff --git a/web/static/images/emoji/angry.png b/web/static/images/emoji/angry.png Binary files differindex f95bfa897..103961ee4 100755..100644 --- a/web/static/images/emoji/angry.png +++ b/web/static/images/emoji/angry.png diff --git a/web/static/images/emoji/anguished.png b/web/static/images/emoji/anguished.png Binary files differindex c62594726..31b14f781 100755..100644 --- a/web/static/images/emoji/anguished.png +++ b/web/static/images/emoji/anguished.png diff --git a/web/static/images/emoji/ant.png b/web/static/images/emoji/ant.png Binary files differindex b92d1cc14..1b6ba80c0 100755..100644 --- a/web/static/images/emoji/ant.png +++ b/web/static/images/emoji/ant.png diff --git a/web/static/images/emoji/apple.png b/web/static/images/emoji/apple.png Binary files differindex 08aa17b95..bcc5c94aa 100755..100644 --- a/web/static/images/emoji/apple.png +++ b/web/static/images/emoji/apple.png diff --git a/web/static/images/emoji/aquarius.png b/web/static/images/emoji/aquarius.png Binary files differindex cbff66edc..2e645c9e3 100755..100644 --- a/web/static/images/emoji/aquarius.png +++ b/web/static/images/emoji/aquarius.png diff --git a/web/static/images/emoji/aries.png b/web/static/images/emoji/aries.png Binary files differindex aab5e8809..8c26a2400 100755..100644 --- a/web/static/images/emoji/aries.png +++ b/web/static/images/emoji/aries.png diff --git a/web/static/images/emoji/arrow_backward.png b/web/static/images/emoji/arrow_backward.png Binary files differindex 088621834..66b208dd9 100755..100644 --- a/web/static/images/emoji/arrow_backward.png +++ b/web/static/images/emoji/arrow_backward.png diff --git a/web/static/images/emoji/arrow_double_down.png b/web/static/images/emoji/arrow_double_down.png Binary files differindex 2ecbebcda..698156f8d 100755..100644 --- a/web/static/images/emoji/arrow_double_down.png +++ b/web/static/images/emoji/arrow_double_down.png diff --git a/web/static/images/emoji/arrow_double_up.png b/web/static/images/emoji/arrow_double_up.png Binary files differindex 2bd6659b1..0878d9436 100755..100644 --- a/web/static/images/emoji/arrow_double_up.png +++ b/web/static/images/emoji/arrow_double_up.png diff --git a/web/static/images/emoji/arrow_down.png b/web/static/images/emoji/arrow_down.png Binary files differindex e6702f02b..cf9664792 100755..100644 --- a/web/static/images/emoji/arrow_down.png +++ b/web/static/images/emoji/arrow_down.png diff --git a/web/static/images/emoji/arrow_down_small.png b/web/static/images/emoji/arrow_down_small.png Binary files differindex 22d383a92..6694271c4 100755..100644 --- a/web/static/images/emoji/arrow_down_small.png +++ b/web/static/images/emoji/arrow_down_small.png diff --git a/web/static/images/emoji/arrow_forward.png b/web/static/images/emoji/arrow_forward.png Binary files differindex fbfe711b6..cbc672c1e 100755..100644 --- a/web/static/images/emoji/arrow_forward.png +++ b/web/static/images/emoji/arrow_forward.png diff --git a/web/static/images/emoji/arrow_heading_down.png b/web/static/images/emoji/arrow_heading_down.png Binary files differindex 56dd3b9d3..79234629f 100755..100644 --- a/web/static/images/emoji/arrow_heading_down.png +++ b/web/static/images/emoji/arrow_heading_down.png diff --git a/web/static/images/emoji/arrow_heading_up.png b/web/static/images/emoji/arrow_heading_up.png Binary files differindex c8f670a1e..b6c5b0610 100755..100644 --- a/web/static/images/emoji/arrow_heading_up.png +++ b/web/static/images/emoji/arrow_heading_up.png diff --git a/web/static/images/emoji/arrow_left.png b/web/static/images/emoji/arrow_left.png Binary files differindex d64ac619c..58a76a59c 100755..100644 --- a/web/static/images/emoji/arrow_left.png +++ b/web/static/images/emoji/arrow_left.png diff --git a/web/static/images/emoji/arrow_lower_left.png b/web/static/images/emoji/arrow_lower_left.png Binary files differindex 55fb03c41..c5b1a2f7a 100755..100644 --- a/web/static/images/emoji/arrow_lower_left.png +++ b/web/static/images/emoji/arrow_lower_left.png diff --git a/web/static/images/emoji/arrow_lower_right.png b/web/static/images/emoji/arrow_lower_right.png Binary files differindex da8fb8294..4e7757c23 100755..100644 --- a/web/static/images/emoji/arrow_lower_right.png +++ b/web/static/images/emoji/arrow_lower_right.png diff --git a/web/static/images/emoji/arrow_right.png b/web/static/images/emoji/arrow_right.png Binary files differindex 6d483b514..67ab92488 100755..100644 --- a/web/static/images/emoji/arrow_right.png +++ b/web/static/images/emoji/arrow_right.png diff --git a/web/static/images/emoji/arrow_right_hook.png b/web/static/images/emoji/arrow_right_hook.png Binary files differindex 8b4ea6e17..0512301c9 100755..100644 --- a/web/static/images/emoji/arrow_right_hook.png +++ b/web/static/images/emoji/arrow_right_hook.png diff --git a/web/static/images/emoji/arrow_up.png b/web/static/images/emoji/arrow_up.png Binary files differindex b5b0688d3..d50437a6a 100755..100644 --- a/web/static/images/emoji/arrow_up.png +++ b/web/static/images/emoji/arrow_up.png diff --git a/web/static/images/emoji/arrow_up_down.png b/web/static/images/emoji/arrow_up_down.png Binary files differindex be423de78..bb668b036 100755..100644 --- a/web/static/images/emoji/arrow_up_down.png +++ b/web/static/images/emoji/arrow_up_down.png diff --git a/web/static/images/emoji/arrow_up_small.png b/web/static/images/emoji/arrow_up_small.png Binary files differindex 3f40bfb89..7752177fd 100755..100644 --- a/web/static/images/emoji/arrow_up_small.png +++ b/web/static/images/emoji/arrow_up_small.png diff --git a/web/static/images/emoji/arrow_upper_left.png b/web/static/images/emoji/arrow_upper_left.png Binary files differindex 2950ae2f9..5a75e42ba 100755..100644 --- a/web/static/images/emoji/arrow_upper_left.png +++ b/web/static/images/emoji/arrow_upper_left.png diff --git a/web/static/images/emoji/arrow_upper_right.png b/web/static/images/emoji/arrow_upper_right.png Binary files differindex e23790ba1..267322593 100755..100644 --- a/web/static/images/emoji/arrow_upper_right.png +++ b/web/static/images/emoji/arrow_upper_right.png diff --git a/web/static/images/emoji/arrows_clockwise.png b/web/static/images/emoji/arrows_clockwise.png Binary files differindex 5f84d7e72..fe7d5bafd 100755..100644 --- a/web/static/images/emoji/arrows_clockwise.png +++ b/web/static/images/emoji/arrows_clockwise.png diff --git a/web/static/images/emoji/arrows_counterclockwise.png b/web/static/images/emoji/arrows_counterclockwise.png Binary files differindex 3e06f5b3c..7bd4e4d75 100755..100644 --- a/web/static/images/emoji/arrows_counterclockwise.png +++ b/web/static/images/emoji/arrows_counterclockwise.png diff --git a/web/static/images/emoji/art.png b/web/static/images/emoji/art.png Binary files differindex d45212b03..05116974d 100755..100644 --- a/web/static/images/emoji/art.png +++ b/web/static/images/emoji/art.png diff --git a/web/static/images/emoji/articulated_lorry.png b/web/static/images/emoji/articulated_lorry.png Binary files differindex 81ec1f917..4447dcfb5 100755..100644 --- a/web/static/images/emoji/articulated_lorry.png +++ b/web/static/images/emoji/articulated_lorry.png diff --git a/web/static/images/emoji/astonished.png b/web/static/images/emoji/astonished.png Binary files differindex 858a83484..7be652cab 100755..100644 --- a/web/static/images/emoji/astonished.png +++ b/web/static/images/emoji/astonished.png diff --git a/web/static/images/emoji/athletic_shoe.png b/web/static/images/emoji/athletic_shoe.png Binary files differnew file mode 100644 index 000000000..e2cd2d3d4 --- /dev/null +++ b/web/static/images/emoji/athletic_shoe.png diff --git a/web/static/images/emoji/atm.png b/web/static/images/emoji/atm.png Binary files differindex c2846e792..0769e688b 100755..100644 --- a/web/static/images/emoji/atm.png +++ b/web/static/images/emoji/atm.png diff --git a/web/static/images/emoji/b.png b/web/static/images/emoji/b.png Binary files differindex 8742b3d2e..cf87ad1fc 100755..100644 --- a/web/static/images/emoji/b.png +++ b/web/static/images/emoji/b.png diff --git a/web/static/images/emoji/baby.png b/web/static/images/emoji/baby.png Binary files differindex 3b29da40b..7bfa3d4b5 100755..100644 --- a/web/static/images/emoji/baby.png +++ b/web/static/images/emoji/baby.png diff --git a/web/static/images/emoji/baby_bottle.png b/web/static/images/emoji/baby_bottle.png Binary files differindex 1b2cfe5e3..64e9edee3 100755..100644 --- a/web/static/images/emoji/baby_bottle.png +++ b/web/static/images/emoji/baby_bottle.png diff --git a/web/static/images/emoji/baby_chick.png b/web/static/images/emoji/baby_chick.png Binary files differindex 9be8d2930..66785c880 100755..100644 --- a/web/static/images/emoji/baby_chick.png +++ b/web/static/images/emoji/baby_chick.png diff --git a/web/static/images/emoji/baby_symbol.png b/web/static/images/emoji/baby_symbol.png Binary files differindex 2e58725cf..c289fc5e5 100755..100644 --- a/web/static/images/emoji/baby_symbol.png +++ b/web/static/images/emoji/baby_symbol.png diff --git a/web/static/images/emoji/back.png b/web/static/images/emoji/back.png Binary files differindex 0cde62876..13983d277 100755..100644 --- a/web/static/images/emoji/back.png +++ b/web/static/images/emoji/back.png diff --git a/web/static/images/emoji/baggage_claim.png b/web/static/images/emoji/baggage_claim.png Binary files differindex 59ae044a4..3c6c63aff 100755..100644 --- a/web/static/images/emoji/baggage_claim.png +++ b/web/static/images/emoji/baggage_claim.png diff --git a/web/static/images/emoji/balloon.png b/web/static/images/emoji/balloon.png Binary files differindex 034489702..3cea35eba 100755..100644 --- a/web/static/images/emoji/balloon.png +++ b/web/static/images/emoji/balloon.png diff --git a/web/static/images/emoji/ballot_box_with_ballot.png b/web/static/images/emoji/ballot_box_with_ballot.png Binary files differnew file mode 100644 index 000000000..e97e4727e --- /dev/null +++ b/web/static/images/emoji/ballot_box_with_ballot.png diff --git a/web/static/images/emoji/ballot_box_with_check.png b/web/static/images/emoji/ballot_box_with_check.png Binary files differindex f07a466c7..e9826b1db 100755..100644 --- a/web/static/images/emoji/ballot_box_with_check.png +++ b/web/static/images/emoji/ballot_box_with_check.png diff --git a/web/static/images/emoji/bamboo.png b/web/static/images/emoji/bamboo.png Binary files differindex fc858d0fc..4e27cc4c5 100755..100644 --- a/web/static/images/emoji/bamboo.png +++ b/web/static/images/emoji/bamboo.png diff --git a/web/static/images/emoji/banana.png b/web/static/images/emoji/banana.png Binary files differindex a0563afb9..5e68af770 100755..100644 --- a/web/static/images/emoji/banana.png +++ b/web/static/images/emoji/banana.png diff --git a/web/static/images/emoji/bangbang.png b/web/static/images/emoji/bangbang.png Binary files differindex 7270f0afe..ab85c1d06 100755..100644 --- a/web/static/images/emoji/bangbang.png +++ b/web/static/images/emoji/bangbang.png diff --git a/web/static/images/emoji/bank.png b/web/static/images/emoji/bank.png Binary files differindex 1faa8777e..5cde6caa9 100755..100644 --- a/web/static/images/emoji/bank.png +++ b/web/static/images/emoji/bank.png diff --git a/web/static/images/emoji/bar_chart.png b/web/static/images/emoji/bar_chart.png Binary files differindex 09d7301c4..9b5a73c72 100755..100644 --- a/web/static/images/emoji/bar_chart.png +++ b/web/static/images/emoji/bar_chart.png diff --git a/web/static/images/emoji/barber.png b/web/static/images/emoji/barber.png Binary files differindex a10cb2322..e2267ff8f 100755..100644 --- a/web/static/images/emoji/barber.png +++ b/web/static/images/emoji/barber.png diff --git a/web/static/images/emoji/baseball.png b/web/static/images/emoji/baseball.png Binary files differindex da004e2ea..4ba7a75a6 100755..100644 --- a/web/static/images/emoji/baseball.png +++ b/web/static/images/emoji/baseball.png diff --git a/web/static/images/emoji/basketball.png b/web/static/images/emoji/basketball.png Binary files differindex ef694bec4..e9b1c735a 100755..100644 --- a/web/static/images/emoji/basketball.png +++ b/web/static/images/emoji/basketball.png diff --git a/web/static/images/emoji/bath.png b/web/static/images/emoji/bath.png Binary files differindex 8f75d1d24..faca8ba79 100755..100644 --- a/web/static/images/emoji/bath.png +++ b/web/static/images/emoji/bath.png diff --git a/web/static/images/emoji/bathtub.png b/web/static/images/emoji/bathtub.png Binary files differindex 1c3f844ab..86b2a2629 100755..100644 --- a/web/static/images/emoji/bathtub.png +++ b/web/static/images/emoji/bathtub.png diff --git a/web/static/images/emoji/battery.png b/web/static/images/emoji/battery.png Binary files differindex aa7eedce4..9de506348 100755..100644 --- a/web/static/images/emoji/battery.png +++ b/web/static/images/emoji/battery.png diff --git a/web/static/images/emoji/beach_with_umbrella.png b/web/static/images/emoji/beach_with_umbrella.png Binary files differnew file mode 100644 index 000000000..0e244c164 --- /dev/null +++ b/web/static/images/emoji/beach_with_umbrella.png diff --git a/web/static/images/emoji/bear.png b/web/static/images/emoji/bear.png Binary files differindex f5afe920e..32387186f 100755..100644 --- a/web/static/images/emoji/bear.png +++ b/web/static/images/emoji/bear.png diff --git a/web/static/images/emoji/bed.png b/web/static/images/emoji/bed.png Binary files differnew file mode 100644 index 000000000..2b23803bc --- /dev/null +++ b/web/static/images/emoji/bed.png diff --git a/web/static/images/emoji/bee.png b/web/static/images/emoji/bee.png Binary files differindex f53733953..e67b7703b 100755..100644 --- a/web/static/images/emoji/bee.png +++ b/web/static/images/emoji/bee.png diff --git a/web/static/images/emoji/beer.png b/web/static/images/emoji/beer.png Binary files differindex cd78bed74..de0c3ddd9 100755..100644 --- a/web/static/images/emoji/beer.png +++ b/web/static/images/emoji/beer.png diff --git a/web/static/images/emoji/beers.png b/web/static/images/emoji/beers.png Binary files differindex cc5e4ab5a..04ba4d9f4 100755..100644 --- a/web/static/images/emoji/beers.png +++ b/web/static/images/emoji/beers.png diff --git a/web/static/images/emoji/beetle.png b/web/static/images/emoji/beetle.png Binary files differindex 222577ca7..c35380926 100755..100644 --- a/web/static/images/emoji/beetle.png +++ b/web/static/images/emoji/beetle.png diff --git a/web/static/images/emoji/beginner.png b/web/static/images/emoji/beginner.png Binary files differindex 1f022d175..5f429bf63 100755..100644 --- a/web/static/images/emoji/beginner.png +++ b/web/static/images/emoji/beginner.png diff --git a/web/static/images/emoji/bell.png b/web/static/images/emoji/bell.png Binary files differindex 69acceb28..d1473557e 100755..100644 --- a/web/static/images/emoji/bell.png +++ b/web/static/images/emoji/bell.png diff --git a/web/static/images/emoji/bellhop_bell.png b/web/static/images/emoji/bellhop_bell.png Binary files differnew file mode 100644 index 000000000..5eb060df1 --- /dev/null +++ b/web/static/images/emoji/bellhop_bell.png diff --git a/web/static/images/emoji/bento.png b/web/static/images/emoji/bento.png Binary files differindex d6801124a..58af834fd 100755..100644 --- a/web/static/images/emoji/bento.png +++ b/web/static/images/emoji/bento.png diff --git a/web/static/images/emoji/bicyclist.png b/web/static/images/emoji/bicyclist.png Binary files differindex cbbd7c386..15b4c9666 100755..100644 --- a/web/static/images/emoji/bicyclist.png +++ b/web/static/images/emoji/bicyclist.png diff --git a/web/static/images/emoji/bike.png b/web/static/images/emoji/bike.png Binary files differindex 657386027..a37d60207 100755..100644 --- a/web/static/images/emoji/bike.png +++ b/web/static/images/emoji/bike.png diff --git a/web/static/images/emoji/bikini.png b/web/static/images/emoji/bikini.png Binary files differindex 4ff63b40f..62d142f31 100755..100644 --- a/web/static/images/emoji/bikini.png +++ b/web/static/images/emoji/bikini.png diff --git a/web/static/images/emoji/bird.png b/web/static/images/emoji/bird.png Binary files differindex e6be8c027..077178a42 100755..100644 --- a/web/static/images/emoji/bird.png +++ b/web/static/images/emoji/bird.png diff --git a/web/static/images/emoji/birthday.png b/web/static/images/emoji/birthday.png Binary files differindex 36e8edcbe..c5253b099 100755..100644 --- a/web/static/images/emoji/birthday.png +++ b/web/static/images/emoji/birthday.png diff --git a/web/static/images/emoji/black_circle.png b/web/static/images/emoji/black_circle.png Binary files differindex e46f9df61..a9f021517 100755..100644 --- a/web/static/images/emoji/black_circle.png +++ b/web/static/images/emoji/black_circle.png diff --git a/web/static/images/emoji/black_joker.png b/web/static/images/emoji/black_joker.png Binary files differindex 4c78f3614..1cbc43e84 100755..100644 --- a/web/static/images/emoji/black_joker.png +++ b/web/static/images/emoji/black_joker.png diff --git a/web/static/images/emoji/black_large_square.png b/web/static/images/emoji/black_large_square.png Binary files differnew file mode 100644 index 000000000..a8ca8cb81 --- /dev/null +++ b/web/static/images/emoji/black_large_square.png diff --git a/web/static/images/emoji/black_medium_small_square.png b/web/static/images/emoji/black_medium_small_square.png Binary files differindex 25bfe9c45..6dd0df1c9 100755..100644 --- a/web/static/images/emoji/black_medium_small_square.png +++ b/web/static/images/emoji/black_medium_small_square.png diff --git a/web/static/images/emoji/black_medium_square.png b/web/static/images/emoji/black_medium_square.png Binary files differindex 204cce12c..0250c07f4 100755..100644 --- a/web/static/images/emoji/black_medium_square.png +++ b/web/static/images/emoji/black_medium_square.png diff --git a/web/static/images/emoji/black_nib.png b/web/static/images/emoji/black_nib.png Binary files differindex 29f6994c1..6f1a76cde 100755..100644 --- a/web/static/images/emoji/black_nib.png +++ b/web/static/images/emoji/black_nib.png diff --git a/web/static/images/emoji/black_small_square.png b/web/static/images/emoji/black_small_square.png Binary files differindex a247751ec..5a5559241 100755..100644 --- a/web/static/images/emoji/black_small_square.png +++ b/web/static/images/emoji/black_small_square.png diff --git a/web/static/images/emoji/black_square.png b/web/static/images/emoji/black_square.png Binary files differdeleted file mode 100755 index 71da10de8..000000000 --- a/web/static/images/emoji/black_square.png +++ /dev/null diff --git a/web/static/images/emoji/black_square_button.png b/web/static/images/emoji/black_square_button.png Binary files differindex f2597e956..06c68f23e 100755..100644 --- a/web/static/images/emoji/black_square_button.png +++ b/web/static/images/emoji/black_square_button.png diff --git a/web/static/images/emoji/blossom.png b/web/static/images/emoji/blossom.png Binary files differindex 55a97353b..ffc25f252 100755..100644 --- a/web/static/images/emoji/blossom.png +++ b/web/static/images/emoji/blossom.png diff --git a/web/static/images/emoji/blowfish.png b/web/static/images/emoji/blowfish.png Binary files differindex d3ad46585..7529feff7 100755..100644 --- a/web/static/images/emoji/blowfish.png +++ b/web/static/images/emoji/blowfish.png diff --git a/web/static/images/emoji/blue_book.png b/web/static/images/emoji/blue_book.png Binary files differindex e2b9e8c79..673bf2bdb 100755..100644 --- a/web/static/images/emoji/blue_book.png +++ b/web/static/images/emoji/blue_book.png diff --git a/web/static/images/emoji/blue_car.png b/web/static/images/emoji/blue_car.png Binary files differindex 978291e08..0c2e833ff 100755..100644 --- a/web/static/images/emoji/blue_car.png +++ b/web/static/images/emoji/blue_car.png diff --git a/web/static/images/emoji/blue_heart.png b/web/static/images/emoji/blue_heart.png Binary files differindex baa29b31b..494ab723e 100755..100644 --- a/web/static/images/emoji/blue_heart.png +++ b/web/static/images/emoji/blue_heart.png diff --git a/web/static/images/emoji/blush.png b/web/static/images/emoji/blush.png Binary files differindex 3a95eb61a..1733df545 100755..100644 --- a/web/static/images/emoji/blush.png +++ b/web/static/images/emoji/blush.png diff --git a/web/static/images/emoji/boar.png b/web/static/images/emoji/boar.png Binary files differindex 8196ad4a1..2ccb92fd1 100755..100644 --- a/web/static/images/emoji/boar.png +++ b/web/static/images/emoji/boar.png diff --git a/web/static/images/emoji/boat.png b/web/static/images/emoji/boat.png Binary files differindex ff656dc62..9e862f831 100755..100644 --- a/web/static/images/emoji/boat.png +++ b/web/static/images/emoji/boat.png diff --git a/web/static/images/emoji/bomb.png b/web/static/images/emoji/bomb.png Binary files differindex 3289787dc..774c5c91e 100755..100644 --- a/web/static/images/emoji/bomb.png +++ b/web/static/images/emoji/bomb.png diff --git a/web/static/images/emoji/book.png b/web/static/images/emoji/book.png Binary files differindex 8b698415c..01c836a7e 100755..100644 --- a/web/static/images/emoji/book.png +++ b/web/static/images/emoji/book.png diff --git a/web/static/images/emoji/bookmark.png b/web/static/images/emoji/bookmark.png Binary files differindex 6fc4ed902..05a3325c8 100755..100644 --- a/web/static/images/emoji/bookmark.png +++ b/web/static/images/emoji/bookmark.png diff --git a/web/static/images/emoji/bookmark_tabs.png b/web/static/images/emoji/bookmark_tabs.png Binary files differindex 83782ff0c..9cec88387 100755..100644 --- a/web/static/images/emoji/bookmark_tabs.png +++ b/web/static/images/emoji/bookmark_tabs.png diff --git a/web/static/images/emoji/books.png b/web/static/images/emoji/books.png Binary files differindex dca06a1ad..65abc1651 100755..100644 --- a/web/static/images/emoji/books.png +++ b/web/static/images/emoji/books.png diff --git a/web/static/images/emoji/boom.png b/web/static/images/emoji/boom.png Binary files differindex 9d5bd0401..98a69a628 100755..100644 --- a/web/static/images/emoji/boom.png +++ b/web/static/images/emoji/boom.png diff --git a/web/static/images/emoji/boot.png b/web/static/images/emoji/boot.png Binary files differindex 58d0fdbcd..856256d5b 100755..100644 --- a/web/static/images/emoji/boot.png +++ b/web/static/images/emoji/boot.png diff --git a/web/static/images/emoji/bouquet.png b/web/static/images/emoji/bouquet.png Binary files differindex ce637832e..e42118f7f 100755..100644 --- a/web/static/images/emoji/bouquet.png +++ b/web/static/images/emoji/bouquet.png diff --git a/web/static/images/emoji/bow.png b/web/static/images/emoji/bow.png Binary files differindex 024cb6104..f763bdfe9 100755..100644 --- a/web/static/images/emoji/bow.png +++ b/web/static/images/emoji/bow.png diff --git a/web/static/images/emoji/bowling.png b/web/static/images/emoji/bowling.png Binary files differindex 13d8ece2e..e41edfbdb 100755..100644 --- a/web/static/images/emoji/bowling.png +++ b/web/static/images/emoji/bowling.png diff --git a/web/static/images/emoji/bowtie.png b/web/static/images/emoji/bowtie.png Binary files differindex 28ff0c787..28ff0c787 100755..100644 --- a/web/static/images/emoji/bowtie.png +++ b/web/static/images/emoji/bowtie.png diff --git a/web/static/images/emoji/boy.png b/web/static/images/emoji/boy.png Binary files differindex f79f1f298..ddcf29ca6 100755..100644 --- a/web/static/images/emoji/boy.png +++ b/web/static/images/emoji/boy.png diff --git a/web/static/images/emoji/bread.png b/web/static/images/emoji/bread.png Binary files differindex 7e7c63753..3ca73ebc7 100755..100644 --- a/web/static/images/emoji/bread.png +++ b/web/static/images/emoji/bread.png diff --git a/web/static/images/emoji/bride_with_veil.png b/web/static/images/emoji/bride_with_veil.png Binary files differindex dd0b0cfda..a19e3389e 100755..100644 --- a/web/static/images/emoji/bride_with_veil.png +++ b/web/static/images/emoji/bride_with_veil.png diff --git a/web/static/images/emoji/bridge_at_night.png b/web/static/images/emoji/bridge_at_night.png Binary files differindex 495b06c3d..44cf8852e 100755..100644 --- a/web/static/images/emoji/bridge_at_night.png +++ b/web/static/images/emoji/bridge_at_night.png diff --git a/web/static/images/emoji/briefcase.png b/web/static/images/emoji/briefcase.png Binary files differindex 46e82b001..49293eb0a 100755..100644 --- a/web/static/images/emoji/briefcase.png +++ b/web/static/images/emoji/briefcase.png diff --git a/web/static/images/emoji/broken_heart.png b/web/static/images/emoji/broken_heart.png Binary files differindex a1bc850ec..b7ee9b4e5 100755..100644 --- a/web/static/images/emoji/broken_heart.png +++ b/web/static/images/emoji/broken_heart.png diff --git a/web/static/images/emoji/bug.png b/web/static/images/emoji/bug.png Binary files differindex c2eaf7a70..06b35cf5a 100755..100644 --- a/web/static/images/emoji/bug.png +++ b/web/static/images/emoji/bug.png diff --git a/web/static/images/emoji/building_construction.png b/web/static/images/emoji/building_construction.png Binary files differnew file mode 100644 index 000000000..05a287fee --- /dev/null +++ b/web/static/images/emoji/building_construction.png diff --git a/web/static/images/emoji/bulb.png b/web/static/images/emoji/bulb.png Binary files differindex 23afca1c7..7596c82a7 100755..100644 --- a/web/static/images/emoji/bulb.png +++ b/web/static/images/emoji/bulb.png diff --git a/web/static/images/emoji/bullettrain_front.png b/web/static/images/emoji/bullettrain_front.png Binary files differindex 16651acff..14ab9c409 100755..100644 --- a/web/static/images/emoji/bullettrain_front.png +++ b/web/static/images/emoji/bullettrain_front.png diff --git a/web/static/images/emoji/bullettrain_side.png b/web/static/images/emoji/bullettrain_side.png Binary files differindex 8eca36845..37daa558f 100755..100644 --- a/web/static/images/emoji/bullettrain_side.png +++ b/web/static/images/emoji/bullettrain_side.png diff --git a/web/static/images/emoji/bus.png b/web/static/images/emoji/bus.png Binary files differindex 823aa39e4..b4f9c0c1f 100755..100644 --- a/web/static/images/emoji/bus.png +++ b/web/static/images/emoji/bus.png diff --git a/web/static/images/emoji/busstop.png b/web/static/images/emoji/busstop.png Binary files differindex 94894847b..3e14a30b6 100755..100644 --- a/web/static/images/emoji/busstop.png +++ b/web/static/images/emoji/busstop.png diff --git a/web/static/images/emoji/bust_in_silhouette.png b/web/static/images/emoji/bust_in_silhouette.png Binary files differindex dd7defe28..db3a468fc 100755..100644 --- a/web/static/images/emoji/bust_in_silhouette.png +++ b/web/static/images/emoji/bust_in_silhouette.png diff --git a/web/static/images/emoji/busts_in_silhouette.png b/web/static/images/emoji/busts_in_silhouette.png Binary files differindex 1f3aabcff..f6018ac0e 100755..100644 --- a/web/static/images/emoji/busts_in_silhouette.png +++ b/web/static/images/emoji/busts_in_silhouette.png diff --git a/web/static/images/emoji/cactus.png b/web/static/images/emoji/cactus.png Binary files differindex 5a2c3cc72..0204fd343 100755..100644 --- a/web/static/images/emoji/cactus.png +++ b/web/static/images/emoji/cactus.png diff --git a/web/static/images/emoji/cake.png b/web/static/images/emoji/cake.png Binary files differindex efeb9b4b2..0be915e5b 100755..100644 --- a/web/static/images/emoji/cake.png +++ b/web/static/images/emoji/cake.png diff --git a/web/static/images/emoji/calendar.png b/web/static/images/emoji/calendar.png Binary files differindex 900b868bb..7b1845ab2 100755..100644 --- a/web/static/images/emoji/calendar.png +++ b/web/static/images/emoji/calendar.png diff --git a/web/static/images/emoji/calling.png b/web/static/images/emoji/calling.png Binary files differindex 837897f26..e10f74a6a 100755..100644 --- a/web/static/images/emoji/calling.png +++ b/web/static/images/emoji/calling.png diff --git a/web/static/images/emoji/camel.png b/web/static/images/emoji/camel.png Binary files differindex 496c186ae..f332bf333 100755..100644 --- a/web/static/images/emoji/camel.png +++ b/web/static/images/emoji/camel.png diff --git a/web/static/images/emoji/camera.png b/web/static/images/emoji/camera.png Binary files differindex 397d03b39..0b4463e8b 100755..100644 --- a/web/static/images/emoji/camera.png +++ b/web/static/images/emoji/camera.png diff --git a/web/static/images/emoji/camera_with_flash.png b/web/static/images/emoji/camera_with_flash.png Binary files differnew file mode 100644 index 000000000..66f223b17 --- /dev/null +++ b/web/static/images/emoji/camera_with_flash.png diff --git a/web/static/images/emoji/camping.png b/web/static/images/emoji/camping.png Binary files differnew file mode 100644 index 000000000..d45a07fcf --- /dev/null +++ b/web/static/images/emoji/camping.png diff --git a/web/static/images/emoji/cancer.png b/web/static/images/emoji/cancer.png Binary files differindex ea43a4a2a..6375eabb5 100755..100644 --- a/web/static/images/emoji/cancer.png +++ b/web/static/images/emoji/cancer.png diff --git a/web/static/images/emoji/candle.png b/web/static/images/emoji/candle.png Binary files differnew file mode 100644 index 000000000..d3395073a --- /dev/null +++ b/web/static/images/emoji/candle.png diff --git a/web/static/images/emoji/candy.png b/web/static/images/emoji/candy.png Binary files differindex 33722f236..c067807c1 100755..100644 --- a/web/static/images/emoji/candy.png +++ b/web/static/images/emoji/candy.png diff --git a/web/static/images/emoji/capital_abcd.png b/web/static/images/emoji/capital_abcd.png Binary files differindex ffc0cba4b..044554f6f 100755..100644 --- a/web/static/images/emoji/capital_abcd.png +++ b/web/static/images/emoji/capital_abcd.png diff --git a/web/static/images/emoji/capricorn.png b/web/static/images/emoji/capricorn.png Binary files differindex f2044e789..255ac3183 100755..100644 --- a/web/static/images/emoji/capricorn.png +++ b/web/static/images/emoji/capricorn.png diff --git a/web/static/images/emoji/car.png b/web/static/images/emoji/car.png Binary files differindex d70a2f062..e266bd21e 100755..100644 --- a/web/static/images/emoji/car.png +++ b/web/static/images/emoji/car.png diff --git a/web/static/images/emoji/card_file_box.png b/web/static/images/emoji/card_file_box.png Binary files differnew file mode 100644 index 000000000..c9278f336 --- /dev/null +++ b/web/static/images/emoji/card_file_box.png diff --git a/web/static/images/emoji/card_index.png b/web/static/images/emoji/card_index.png Binary files differindex 374e94e9e..84407de9e 100755..100644 --- a/web/static/images/emoji/card_index.png +++ b/web/static/images/emoji/card_index.png diff --git a/web/static/images/emoji/card_index_dividers.png b/web/static/images/emoji/card_index_dividers.png Binary files differnew file mode 100644 index 000000000..b22199edd --- /dev/null +++ b/web/static/images/emoji/card_index_dividers.png diff --git a/web/static/images/emoji/carousel_horse.png b/web/static/images/emoji/carousel_horse.png Binary files differindex 765d2c0a8..33f159f06 100755..100644 --- a/web/static/images/emoji/carousel_horse.png +++ b/web/static/images/emoji/carousel_horse.png diff --git a/web/static/images/emoji/cat.png b/web/static/images/emoji/cat.png Binary files differindex 09b9ef79a..126d2ef79 100755..100644 --- a/web/static/images/emoji/cat.png +++ b/web/static/images/emoji/cat.png diff --git a/web/static/images/emoji/cat2.png b/web/static/images/emoji/cat2.png Binary files differindex 6dbc4c71e..79f06af48 100755..100644 --- a/web/static/images/emoji/cat2.png +++ b/web/static/images/emoji/cat2.png diff --git a/web/static/images/emoji/cd.png b/web/static/images/emoji/cd.png Binary files differindex baff835c4..10d5db668 100755..100644 --- a/web/static/images/emoji/cd.png +++ b/web/static/images/emoji/cd.png diff --git a/web/static/images/emoji/chart.png b/web/static/images/emoji/chart.png Binary files differindex ac2c4bb09..6b7fb1cdd 100755..100644 --- a/web/static/images/emoji/chart.png +++ b/web/static/images/emoji/chart.png diff --git a/web/static/images/emoji/chart_with_downwards_trend.png b/web/static/images/emoji/chart_with_downwards_trend.png Binary files differindex cb0d2a113..63ab4f0b4 100755..100644 --- a/web/static/images/emoji/chart_with_downwards_trend.png +++ b/web/static/images/emoji/chart_with_downwards_trend.png diff --git a/web/static/images/emoji/chart_with_upwards_trend.png b/web/static/images/emoji/chart_with_upwards_trend.png Binary files differindex 7c66745c9..74a525be1 100755..100644 --- a/web/static/images/emoji/chart_with_upwards_trend.png +++ b/web/static/images/emoji/chart_with_upwards_trend.png diff --git a/web/static/images/emoji/checkered_flag.png b/web/static/images/emoji/checkered_flag.png Binary files differindex ead4a68dd..9f1d564f6 100755..100644 --- a/web/static/images/emoji/checkered_flag.png +++ b/web/static/images/emoji/checkered_flag.png diff --git a/web/static/images/emoji/cherries.png b/web/static/images/emoji/cherries.png Binary files differindex 8d3e044f2..982292e95 100755..100644 --- a/web/static/images/emoji/cherries.png +++ b/web/static/images/emoji/cherries.png diff --git a/web/static/images/emoji/cherry_blossom.png b/web/static/images/emoji/cherry_blossom.png Binary files differindex e03155499..7cd8a22e7 100755..100644 --- a/web/static/images/emoji/cherry_blossom.png +++ b/web/static/images/emoji/cherry_blossom.png diff --git a/web/static/images/emoji/chestnut.png b/web/static/images/emoji/chestnut.png Binary files differindex 066fb6bf6..f983cb132 100755..100644 --- a/web/static/images/emoji/chestnut.png +++ b/web/static/images/emoji/chestnut.png diff --git a/web/static/images/emoji/chicken.png b/web/static/images/emoji/chicken.png Binary files differindex 6d25c0ef4..182ffb343 100755..100644 --- a/web/static/images/emoji/chicken.png +++ b/web/static/images/emoji/chicken.png diff --git a/web/static/images/emoji/children_crossing.png b/web/static/images/emoji/children_crossing.png Binary files differindex b0302ae62..56ad0fb15 100755..100644 --- a/web/static/images/emoji/children_crossing.png +++ b/web/static/images/emoji/children_crossing.png diff --git a/web/static/images/emoji/chipmunk.png b/web/static/images/emoji/chipmunk.png Binary files differnew file mode 100644 index 000000000..2881d09be --- /dev/null +++ b/web/static/images/emoji/chipmunk.png diff --git a/web/static/images/emoji/chocolate_bar.png b/web/static/images/emoji/chocolate_bar.png Binary files differindex c7ec19d07..f76d0902e 100755..100644 --- a/web/static/images/emoji/chocolate_bar.png +++ b/web/static/images/emoji/chocolate_bar.png diff --git a/web/static/images/emoji/christmas_tree.png b/web/static/images/emoji/christmas_tree.png Binary files differindex d813b9593..7674eb441 100755..100644 --- a/web/static/images/emoji/christmas_tree.png +++ b/web/static/images/emoji/christmas_tree.png diff --git a/web/static/images/emoji/church.png b/web/static/images/emoji/church.png Binary files differindex 4c07c6b9e..e1f25e25a 100755..100644 --- a/web/static/images/emoji/church.png +++ b/web/static/images/emoji/church.png diff --git a/web/static/images/emoji/cinema.png b/web/static/images/emoji/cinema.png Binary files differindex a990ccf99..972b57df7 100755..100644 --- a/web/static/images/emoji/cinema.png +++ b/web/static/images/emoji/cinema.png diff --git a/web/static/images/emoji/circus_tent.png b/web/static/images/emoji/circus_tent.png Binary files differindex 4af8719aa..713b4f085 100755..100644 --- a/web/static/images/emoji/circus_tent.png +++ b/web/static/images/emoji/circus_tent.png diff --git a/web/static/images/emoji/city_sunrise.png b/web/static/images/emoji/city_sunrise.png Binary files differindex 91ca2a40b..a65691bb0 100755..100644 --- a/web/static/images/emoji/city_sunrise.png +++ b/web/static/images/emoji/city_sunrise.png diff --git a/web/static/images/emoji/city_sunset.png b/web/static/images/emoji/city_sunset.png Binary files differindex 7cb178a2c..f64483fb6 100755..100644 --- a/web/static/images/emoji/city_sunset.png +++ b/web/static/images/emoji/city_sunset.png diff --git a/web/static/images/emoji/cityscape.png b/web/static/images/emoji/cityscape.png Binary files differnew file mode 100644 index 000000000..4d331db74 --- /dev/null +++ b/web/static/images/emoji/cityscape.png diff --git a/web/static/images/emoji/cl.png b/web/static/images/emoji/cl.png Binary files differindex 15ac67525..ccd6494e6 100755..100644 --- a/web/static/images/emoji/cl.png +++ b/web/static/images/emoji/cl.png diff --git a/web/static/images/emoji/clap.png b/web/static/images/emoji/clap.png Binary files differindex d01c982a7..ccb725e96 100755..100644 --- a/web/static/images/emoji/clap.png +++ b/web/static/images/emoji/clap.png diff --git a/web/static/images/emoji/clapper.png b/web/static/images/emoji/clapper.png Binary files differindex 4e1dc111d..54bbba809 100755..100644 --- a/web/static/images/emoji/clapper.png +++ b/web/static/images/emoji/clapper.png diff --git a/web/static/images/emoji/classical_building.png b/web/static/images/emoji/classical_building.png Binary files differnew file mode 100644 index 000000000..71150c7c5 --- /dev/null +++ b/web/static/images/emoji/classical_building.png diff --git a/web/static/images/emoji/clipboard.png b/web/static/images/emoji/clipboard.png Binary files differindex e2c74e6df..7f50dfff7 100755..100644 --- a/web/static/images/emoji/clipboard.png +++ b/web/static/images/emoji/clipboard.png diff --git a/web/static/images/emoji/clock1.png b/web/static/images/emoji/clock1.png Binary files differindex 9174d4e0b..980085a07 100755..100644 --- a/web/static/images/emoji/clock1.png +++ b/web/static/images/emoji/clock1.png diff --git a/web/static/images/emoji/clock10.png b/web/static/images/emoji/clock10.png Binary files differindex 39f590d69..90f1576d2 100755..100644 --- a/web/static/images/emoji/clock10.png +++ b/web/static/images/emoji/clock10.png diff --git a/web/static/images/emoji/clock1030.png b/web/static/images/emoji/clock1030.png Binary files differindex 0483b3059..c530b7db4 100755..100644 --- a/web/static/images/emoji/clock1030.png +++ b/web/static/images/emoji/clock1030.png diff --git a/web/static/images/emoji/clock11.png b/web/static/images/emoji/clock11.png Binary files differindex ddb53fada..918ba245f 100755..100644 --- a/web/static/images/emoji/clock11.png +++ b/web/static/images/emoji/clock11.png diff --git a/web/static/images/emoji/clock1130.png b/web/static/images/emoji/clock1130.png Binary files differindex 415999ec8..e39bbbbb1 100755..100644 --- a/web/static/images/emoji/clock1130.png +++ b/web/static/images/emoji/clock1130.png diff --git a/web/static/images/emoji/clock12.png b/web/static/images/emoji/clock12.png Binary files differindex 87b132878..d5848e629 100755..100644 --- a/web/static/images/emoji/clock12.png +++ b/web/static/images/emoji/clock12.png diff --git a/web/static/images/emoji/clock1230.png b/web/static/images/emoji/clock1230.png Binary files differindex a6527154d..f67ed85f3 100755..100644 --- a/web/static/images/emoji/clock1230.png +++ b/web/static/images/emoji/clock1230.png diff --git a/web/static/images/emoji/clock130.png b/web/static/images/emoji/clock130.png Binary files differindex 90ea5b914..c4675548d 100755..100644 --- a/web/static/images/emoji/clock130.png +++ b/web/static/images/emoji/clock130.png diff --git a/web/static/images/emoji/clock2.png b/web/static/images/emoji/clock2.png Binary files differindex 65b3b3af0..ba411f8f0 100755..100644 --- a/web/static/images/emoji/clock2.png +++ b/web/static/images/emoji/clock2.png diff --git a/web/static/images/emoji/clock230.png b/web/static/images/emoji/clock230.png Binary files differindex f12c6912a..5482453d1 100755..100644 --- a/web/static/images/emoji/clock230.png +++ b/web/static/images/emoji/clock230.png diff --git a/web/static/images/emoji/clock3.png b/web/static/images/emoji/clock3.png Binary files differindex 3e44d64e2..7978c4251 100755..100644 --- a/web/static/images/emoji/clock3.png +++ b/web/static/images/emoji/clock3.png diff --git a/web/static/images/emoji/clock330.png b/web/static/images/emoji/clock330.png Binary files differindex 1dc9628ea..f66421993 100755..100644 --- a/web/static/images/emoji/clock330.png +++ b/web/static/images/emoji/clock330.png diff --git a/web/static/images/emoji/clock4.png b/web/static/images/emoji/clock4.png Binary files differindex 948ed1a38..4cfceb291 100755..100644 --- a/web/static/images/emoji/clock4.png +++ b/web/static/images/emoji/clock4.png diff --git a/web/static/images/emoji/clock430.png b/web/static/images/emoji/clock430.png Binary files differindex 5d6b16a2d..b93f01e67 100755..100644 --- a/web/static/images/emoji/clock430.png +++ b/web/static/images/emoji/clock430.png diff --git a/web/static/images/emoji/clock5.png b/web/static/images/emoji/clock5.png Binary files differindex b010b4f8a..403b99fb2 100755..100644 --- a/web/static/images/emoji/clock5.png +++ b/web/static/images/emoji/clock5.png diff --git a/web/static/images/emoji/clock530.png b/web/static/images/emoji/clock530.png Binary files differindex e08d4ad2b..b2ad07307 100755..100644 --- a/web/static/images/emoji/clock530.png +++ b/web/static/images/emoji/clock530.png diff --git a/web/static/images/emoji/clock6.png b/web/static/images/emoji/clock6.png Binary files differindex 76bf8cf18..008ac2b9e 100755..100644 --- a/web/static/images/emoji/clock6.png +++ b/web/static/images/emoji/clock6.png diff --git a/web/static/images/emoji/clock630.png b/web/static/images/emoji/clock630.png Binary files differindex 46f0681f1..dbabd4eb9 100755..100644 --- a/web/static/images/emoji/clock630.png +++ b/web/static/images/emoji/clock630.png diff --git a/web/static/images/emoji/clock7.png b/web/static/images/emoji/clock7.png Binary files differindex d48f645d8..067d11165 100755..100644 --- a/web/static/images/emoji/clock7.png +++ b/web/static/images/emoji/clock7.png diff --git a/web/static/images/emoji/clock730.png b/web/static/images/emoji/clock730.png Binary files differindex f2807de2f..415894eda 100755..100644 --- a/web/static/images/emoji/clock730.png +++ b/web/static/images/emoji/clock730.png diff --git a/web/static/images/emoji/clock8.png b/web/static/images/emoji/clock8.png Binary files differindex 74c770d89..c4bdc4080 100755..100644 --- a/web/static/images/emoji/clock8.png +++ b/web/static/images/emoji/clock8.png diff --git a/web/static/images/emoji/clock830.png b/web/static/images/emoji/clock830.png Binary files differindex f58f3dadd..8e899ad48 100755..100644 --- a/web/static/images/emoji/clock830.png +++ b/web/static/images/emoji/clock830.png diff --git a/web/static/images/emoji/clock9.png b/web/static/images/emoji/clock9.png Binary files differindex f009d14ac..467de0ba5 100755..100644 --- a/web/static/images/emoji/clock9.png +++ b/web/static/images/emoji/clock9.png diff --git a/web/static/images/emoji/clock930.png b/web/static/images/emoji/clock930.png Binary files differindex fd3522142..d9c91203c 100755..100644 --- a/web/static/images/emoji/clock930.png +++ b/web/static/images/emoji/clock930.png diff --git a/web/static/images/emoji/closed_book.png b/web/static/images/emoji/closed_book.png Binary files differindex 484029c5e..e26390e0a 100755..100644 --- a/web/static/images/emoji/closed_book.png +++ b/web/static/images/emoji/closed_book.png diff --git a/web/static/images/emoji/closed_lock_with_key.png b/web/static/images/emoji/closed_lock_with_key.png Binary files differindex e6fdf6cb2..d2bddb1eb 100755..100644 --- a/web/static/images/emoji/closed_lock_with_key.png +++ b/web/static/images/emoji/closed_lock_with_key.png diff --git a/web/static/images/emoji/closed_umbrella.png b/web/static/images/emoji/closed_umbrella.png Binary files differindex 0b719f086..00afbfb40 100755..100644 --- a/web/static/images/emoji/closed_umbrella.png +++ b/web/static/images/emoji/closed_umbrella.png diff --git a/web/static/images/emoji/cloud.png b/web/static/images/emoji/cloud.png Binary files differindex b31c08c0b..559c52f76 100755..100644 --- a/web/static/images/emoji/cloud.png +++ b/web/static/images/emoji/cloud.png diff --git a/web/static/images/emoji/clubs.png b/web/static/images/emoji/clubs.png Binary files differindex bfab53656..307231d98 100755..100644 --- a/web/static/images/emoji/clubs.png +++ b/web/static/images/emoji/clubs.png diff --git a/web/static/images/emoji/cn.png b/web/static/images/emoji/cn.png Binary files differindex b30dcc53d..0151923f3 100755..100644 --- a/web/static/images/emoji/cn.png +++ b/web/static/images/emoji/cn.png diff --git a/web/static/images/emoji/cocktail.png b/web/static/images/emoji/cocktail.png Binary files differindex 28b45ea51..abff15aa8 100755..100644 --- a/web/static/images/emoji/cocktail.png +++ b/web/static/images/emoji/cocktail.png diff --git a/web/static/images/emoji/coffee.png b/web/static/images/emoji/coffee.png Binary files differindex 57e1adcb0..109505f51 100755..100644 --- a/web/static/images/emoji/coffee.png +++ b/web/static/images/emoji/coffee.png diff --git a/web/static/images/emoji/cold_sweat.png b/web/static/images/emoji/cold_sweat.png Binary files differindex b9e39bc60..f488a3ec3 100755..100644 --- a/web/static/images/emoji/cold_sweat.png +++ b/web/static/images/emoji/cold_sweat.png diff --git a/web/static/images/emoji/collision.png b/web/static/images/emoji/collision.png Binary files differindex 9d5bd0401..98a69a628 100755..100644 --- a/web/static/images/emoji/collision.png +++ b/web/static/images/emoji/collision.png diff --git a/web/static/images/emoji/compression.png b/web/static/images/emoji/compression.png Binary files differnew file mode 100644 index 000000000..08c06264e --- /dev/null +++ b/web/static/images/emoji/compression.png diff --git a/web/static/images/emoji/computer.png b/web/static/images/emoji/computer.png Binary files differindex d4d268762..e23340a04 100755..100644 --- a/web/static/images/emoji/computer.png +++ b/web/static/images/emoji/computer.png diff --git a/web/static/images/emoji/confetti_ball.png b/web/static/images/emoji/confetti_ball.png Binary files differindex bd293e3d8..74c61e434 100755..100644 --- a/web/static/images/emoji/confetti_ball.png +++ b/web/static/images/emoji/confetti_ball.png diff --git a/web/static/images/emoji/confounded.png b/web/static/images/emoji/confounded.png Binary files differindex 762c3766a..da0e1cad0 100755..100644 --- a/web/static/images/emoji/confounded.png +++ b/web/static/images/emoji/confounded.png diff --git a/web/static/images/emoji/confused.png b/web/static/images/emoji/confused.png Binary files differindex 8dc494db0..6bb66752f 100755..100644 --- a/web/static/images/emoji/confused.png +++ b/web/static/images/emoji/confused.png diff --git a/web/static/images/emoji/congratulations.png b/web/static/images/emoji/congratulations.png Binary files differindex 85814e33c..b3ffe6fe4 100755..100644 --- a/web/static/images/emoji/congratulations.png +++ b/web/static/images/emoji/congratulations.png diff --git a/web/static/images/emoji/construction.png b/web/static/images/emoji/construction.png Binary files differindex 523e9f10b..d29f47b02 100755..100644 --- a/web/static/images/emoji/construction.png +++ b/web/static/images/emoji/construction.png diff --git a/web/static/images/emoji/construction_worker.png b/web/static/images/emoji/construction_worker.png Binary files differindex 4d6486047..862e51f40 100755..100644 --- a/web/static/images/emoji/construction_worker.png +++ b/web/static/images/emoji/construction_worker.png diff --git a/web/static/images/emoji/control_knobs.png b/web/static/images/emoji/control_knobs.png Binary files differnew file mode 100644 index 000000000..ab4045342 --- /dev/null +++ b/web/static/images/emoji/control_knobs.png diff --git a/web/static/images/emoji/convenience_store.png b/web/static/images/emoji/convenience_store.png Binary files differindex 671696c2d..fbfc257ee 100755..100644 --- a/web/static/images/emoji/convenience_store.png +++ b/web/static/images/emoji/convenience_store.png diff --git a/web/static/images/emoji/cookie.png b/web/static/images/emoji/cookie.png Binary files differindex 653edb258..8eb640e8d 100755..100644 --- a/web/static/images/emoji/cookie.png +++ b/web/static/images/emoji/cookie.png diff --git a/web/static/images/emoji/cool.png b/web/static/images/emoji/cool.png Binary files differindex 937dcd792..07c22b8c5 100755..100644 --- a/web/static/images/emoji/cool.png +++ b/web/static/images/emoji/cool.png diff --git a/web/static/images/emoji/cop.png b/web/static/images/emoji/cop.png Binary files differindex 43a5a84f8..818cab806 100755..100644 --- a/web/static/images/emoji/cop.png +++ b/web/static/images/emoji/cop.png diff --git a/web/static/images/emoji/copyright.png b/web/static/images/emoji/copyright.png Binary files differindex 38493c33f..9872c5b7e 100755..100644 --- a/web/static/images/emoji/copyright.png +++ b/web/static/images/emoji/copyright.png diff --git a/web/static/images/emoji/corn.png b/web/static/images/emoji/corn.png Binary files differindex fe5d8b128..e5f2304bd 100755..100644 --- a/web/static/images/emoji/corn.png +++ b/web/static/images/emoji/corn.png diff --git a/web/static/images/emoji/couch_and_lamp.png b/web/static/images/emoji/couch_and_lamp.png Binary files differnew file mode 100644 index 000000000..fe7473eef --- /dev/null +++ b/web/static/images/emoji/couch_and_lamp.png diff --git a/web/static/images/emoji/couple.png b/web/static/images/emoji/couple.png Binary files differindex 9e51f40e1..616f8520b 100755..100644 --- a/web/static/images/emoji/couple.png +++ b/web/static/images/emoji/couple.png diff --git a/web/static/images/emoji/couple_with_heart.png b/web/static/images/emoji/couple_with_heart.png Binary files differindex c503f40a9..44d4e18bd 100755..100644 --- a/web/static/images/emoji/couple_with_heart.png +++ b/web/static/images/emoji/couple_with_heart.png diff --git a/web/static/images/emoji/couplekiss.png b/web/static/images/emoji/couplekiss.png Binary files differindex d02790822..0280fba18 100755..100644 --- a/web/static/images/emoji/couplekiss.png +++ b/web/static/images/emoji/couplekiss.png diff --git a/web/static/images/emoji/cow.png b/web/static/images/emoji/cow.png Binary files differindex 12e1ab6c0..15196a069 100755..100644 --- a/web/static/images/emoji/cow.png +++ b/web/static/images/emoji/cow.png diff --git a/web/static/images/emoji/cow2.png b/web/static/images/emoji/cow2.png Binary files differindex 594c92155..b3767f6c5 100755..100644 --- a/web/static/images/emoji/cow2.png +++ b/web/static/images/emoji/cow2.png diff --git a/web/static/images/emoji/credit_card.png b/web/static/images/emoji/credit_card.png Binary files differindex be1c1dd30..e41515bb7 100755..100644 --- a/web/static/images/emoji/credit_card.png +++ b/web/static/images/emoji/credit_card.png diff --git a/web/static/images/emoji/crescent_moon.png b/web/static/images/emoji/crescent_moon.png Binary files differindex afdb450d1..2a0b9f39b 100755..100644 --- a/web/static/images/emoji/crescent_moon.png +++ b/web/static/images/emoji/crescent_moon.png diff --git a/web/static/images/emoji/crocodile.png b/web/static/images/emoji/crocodile.png Binary files differindex 7435d5ab3..3b53cacf8 100755..100644 --- a/web/static/images/emoji/crocodile.png +++ b/web/static/images/emoji/crocodile.png diff --git a/web/static/images/emoji/crossed_flags.png b/web/static/images/emoji/crossed_flags.png Binary files differindex 2397bcd0f..5d88b0ad0 100755..100644 --- a/web/static/images/emoji/crossed_flags.png +++ b/web/static/images/emoji/crossed_flags.png diff --git a/web/static/images/emoji/crown.png b/web/static/images/emoji/crown.png Binary files differindex 39da1d528..54ca7998c 100755..100644 --- a/web/static/images/emoji/crown.png +++ b/web/static/images/emoji/crown.png diff --git a/web/static/images/emoji/cry.png b/web/static/images/emoji/cry.png Binary files differindex 6d0d9afd2..dd17cbcca 100755..100644 --- a/web/static/images/emoji/cry.png +++ b/web/static/images/emoji/cry.png diff --git a/web/static/images/emoji/crying_cat_face.png b/web/static/images/emoji/crying_cat_face.png Binary files differindex 42d4c27ca..c467c2198 100755..100644 --- a/web/static/images/emoji/crying_cat_face.png +++ b/web/static/images/emoji/crying_cat_face.png diff --git a/web/static/images/emoji/crystal_ball.png b/web/static/images/emoji/crystal_ball.png Binary files differindex 6d2c6c42d..d9ee3b4f3 100755..100644 --- a/web/static/images/emoji/crystal_ball.png +++ b/web/static/images/emoji/crystal_ball.png diff --git a/web/static/images/emoji/cupid.png b/web/static/images/emoji/cupid.png Binary files differindex 498728476..49260219c 100755..100644 --- a/web/static/images/emoji/cupid.png +++ b/web/static/images/emoji/cupid.png diff --git a/web/static/images/emoji/curly_loop.png b/web/static/images/emoji/curly_loop.png Binary files differindex 7dd841d00..1c7b496c5 100755..100644 --- a/web/static/images/emoji/curly_loop.png +++ b/web/static/images/emoji/curly_loop.png diff --git a/web/static/images/emoji/currency_exchange.png b/web/static/images/emoji/currency_exchange.png Binary files differindex 6ebebe70a..7cdbde70c 100755..100644 --- a/web/static/images/emoji/currency_exchange.png +++ b/web/static/images/emoji/currency_exchange.png diff --git a/web/static/images/emoji/curry.png b/web/static/images/emoji/curry.png Binary files differindex 7983c706a..0afd63ca1 100755..100644 --- a/web/static/images/emoji/curry.png +++ b/web/static/images/emoji/curry.png diff --git a/web/static/images/emoji/custard.png b/web/static/images/emoji/custard.png Binary files differindex 9f843b4c1..44af92a57 100755..100644 --- a/web/static/images/emoji/custard.png +++ b/web/static/images/emoji/custard.png diff --git a/web/static/images/emoji/customs.png b/web/static/images/emoji/customs.png Binary files differindex 92691e311..8c6811ce7 100755..100644 --- a/web/static/images/emoji/customs.png +++ b/web/static/images/emoji/customs.png diff --git a/web/static/images/emoji/cyclone.png b/web/static/images/emoji/cyclone.png Binary files differindex 5fd2e4512..bd243229a 100755..100644 --- a/web/static/images/emoji/cyclone.png +++ b/web/static/images/emoji/cyclone.png diff --git a/web/static/images/emoji/dagger_knife.png b/web/static/images/emoji/dagger_knife.png Binary files differnew file mode 100644 index 000000000..8bfeac95d --- /dev/null +++ b/web/static/images/emoji/dagger_knife.png diff --git a/web/static/images/emoji/dancer.png b/web/static/images/emoji/dancer.png Binary files differindex 7a7bf59f1..8e3c67dd2 100755..100644 --- a/web/static/images/emoji/dancer.png +++ b/web/static/images/emoji/dancer.png diff --git a/web/static/images/emoji/dancers.png b/web/static/images/emoji/dancers.png Binary files differindex 2dfb451a7..8829c0e87 100755..100644 --- a/web/static/images/emoji/dancers.png +++ b/web/static/images/emoji/dancers.png diff --git a/web/static/images/emoji/dango.png b/web/static/images/emoji/dango.png Binary files differindex 2d042aebe..d679ebc02 100755..100644 --- a/web/static/images/emoji/dango.png +++ b/web/static/images/emoji/dango.png diff --git a/web/static/images/emoji/dark_sunglasses.png b/web/static/images/emoji/dark_sunglasses.png Binary files differnew file mode 100644 index 000000000..6ed2172a0 --- /dev/null +++ b/web/static/images/emoji/dark_sunglasses.png diff --git a/web/static/images/emoji/dart.png b/web/static/images/emoji/dart.png Binary files differindex 5f16864cb..527b6a94e 100755..100644 --- a/web/static/images/emoji/dart.png +++ b/web/static/images/emoji/dart.png diff --git a/web/static/images/emoji/dash.png b/web/static/images/emoji/dash.png Binary files differindex dc2c0a8f4..d58c22281 100755..100644 --- a/web/static/images/emoji/dash.png +++ b/web/static/images/emoji/dash.png diff --git a/web/static/images/emoji/date.png b/web/static/images/emoji/date.png Binary files differindex 6ad2efa5f..61308e816 100755..100644 --- a/web/static/images/emoji/date.png +++ b/web/static/images/emoji/date.png diff --git a/web/static/images/emoji/de.png b/web/static/images/emoji/de.png Binary files differindex 16a28548c..168ab43c3 100755..100644 --- a/web/static/images/emoji/de.png +++ b/web/static/images/emoji/de.png diff --git a/web/static/images/emoji/deciduous_tree.png b/web/static/images/emoji/deciduous_tree.png Binary files differindex 3fdf8c007..1a54ec34b 100755..100644 --- a/web/static/images/emoji/deciduous_tree.png +++ b/web/static/images/emoji/deciduous_tree.png diff --git a/web/static/images/emoji/department_store.png b/web/static/images/emoji/department_store.png Binary files differindex 68d959c50..bc83c16f6 100755..100644 --- a/web/static/images/emoji/department_store.png +++ b/web/static/images/emoji/department_store.png diff --git a/web/static/images/emoji/derelict_house_building.png b/web/static/images/emoji/derelict_house_building.png Binary files differnew file mode 100644 index 000000000..316e082d1 --- /dev/null +++ b/web/static/images/emoji/derelict_house_building.png diff --git a/web/static/images/emoji/desert.png b/web/static/images/emoji/desert.png Binary files differnew file mode 100644 index 000000000..b627c829b --- /dev/null +++ b/web/static/images/emoji/desert.png diff --git a/web/static/images/emoji/desert_island.png b/web/static/images/emoji/desert_island.png Binary files differnew file mode 100644 index 000000000..946ef26a5 --- /dev/null +++ b/web/static/images/emoji/desert_island.png diff --git a/web/static/images/emoji/desktop_computer.png b/web/static/images/emoji/desktop_computer.png Binary files differnew file mode 100644 index 000000000..59fc83484 --- /dev/null +++ b/web/static/images/emoji/desktop_computer.png diff --git a/web/static/images/emoji/diamond_shape_with_a_dot_inside.png b/web/static/images/emoji/diamond_shape_with_a_dot_inside.png Binary files differindex dfd1098b3..6aec6cb19 100755..100644 --- a/web/static/images/emoji/diamond_shape_with_a_dot_inside.png +++ b/web/static/images/emoji/diamond_shape_with_a_dot_inside.png diff --git a/web/static/images/emoji/diamonds.png b/web/static/images/emoji/diamonds.png Binary files differindex fe0827758..3e153dbe8 100755..100644 --- a/web/static/images/emoji/diamonds.png +++ b/web/static/images/emoji/diamonds.png diff --git a/web/static/images/emoji/disappointed.png b/web/static/images/emoji/disappointed.png Binary files differindex 825520087..9643415e6 100755..100644 --- a/web/static/images/emoji/disappointed.png +++ b/web/static/images/emoji/disappointed.png diff --git a/web/static/images/emoji/disappointed_relieved.png b/web/static/images/emoji/disappointed_relieved.png Binary files differindex fa5f9e7f9..bcea87523 100755..100644 --- a/web/static/images/emoji/disappointed_relieved.png +++ b/web/static/images/emoji/disappointed_relieved.png diff --git a/web/static/images/emoji/dizzy.png b/web/static/images/emoji/dizzy.png Binary files differindex 3702b6131..b6972196c 100755..100644 --- a/web/static/images/emoji/dizzy.png +++ b/web/static/images/emoji/dizzy.png diff --git a/web/static/images/emoji/dizzy_face.png b/web/static/images/emoji/dizzy_face.png Binary files differindex 8001d6ff8..a23dc7e31 100755..100644 --- a/web/static/images/emoji/dizzy_face.png +++ b/web/static/images/emoji/dizzy_face.png diff --git a/web/static/images/emoji/do_not_litter.png b/web/static/images/emoji/do_not_litter.png Binary files differindex 38c7ae7af..c29f7edf6 100755..100644 --- a/web/static/images/emoji/do_not_litter.png +++ b/web/static/images/emoji/do_not_litter.png diff --git a/web/static/images/emoji/dog.png b/web/static/images/emoji/dog.png Binary files differindex 389a02bf2..3c107deb4 100755..100644 --- a/web/static/images/emoji/dog.png +++ b/web/static/images/emoji/dog.png diff --git a/web/static/images/emoji/dog2.png b/web/static/images/emoji/dog2.png Binary files differindex c7f6a24ac..7057ffe66 100755..100644 --- a/web/static/images/emoji/dog2.png +++ b/web/static/images/emoji/dog2.png diff --git a/web/static/images/emoji/dollar.png b/web/static/images/emoji/dollar.png Binary files differindex 63de88495..73843bf91 100755..100644 --- a/web/static/images/emoji/dollar.png +++ b/web/static/images/emoji/dollar.png diff --git a/web/static/images/emoji/dolls.png b/web/static/images/emoji/dolls.png Binary files differindex 47ce33900..dcd7b9385 100755..100644 --- a/web/static/images/emoji/dolls.png +++ b/web/static/images/emoji/dolls.png diff --git a/web/static/images/emoji/dolphin.png b/web/static/images/emoji/dolphin.png Binary files differindex 9326077a9..4dde4cc13 100755..100644 --- a/web/static/images/emoji/dolphin.png +++ b/web/static/images/emoji/dolphin.png diff --git a/web/static/images/emoji/donut.png b/web/static/images/emoji/donut.png Binary files differdeleted file mode 100755 index ccf869129..000000000 --- a/web/static/images/emoji/donut.png +++ /dev/null diff --git a/web/static/images/emoji/door.png b/web/static/images/emoji/door.png Binary files differindex 83c819ae4..4c8695fee 100755..100644 --- a/web/static/images/emoji/door.png +++ b/web/static/images/emoji/door.png diff --git a/web/static/images/emoji/doughnut.png b/web/static/images/emoji/doughnut.png Binary files differindex ccf869129..b415c96bc 100755..100644 --- a/web/static/images/emoji/doughnut.png +++ b/web/static/images/emoji/doughnut.png diff --git a/web/static/images/emoji/dove_of_peace.png b/web/static/images/emoji/dove_of_peace.png Binary files differnew file mode 100644 index 000000000..e54bfc2b1 --- /dev/null +++ b/web/static/images/emoji/dove_of_peace.png diff --git a/web/static/images/emoji/dragon.png b/web/static/images/emoji/dragon.png Binary files differindex 88d4784b8..b5b635770 100755..100644 --- a/web/static/images/emoji/dragon.png +++ b/web/static/images/emoji/dragon.png diff --git a/web/static/images/emoji/dragon_face.png b/web/static/images/emoji/dragon_face.png Binary files differindex e5e556bd1..aba3bd471 100755..100644 --- a/web/static/images/emoji/dragon_face.png +++ b/web/static/images/emoji/dragon_face.png diff --git a/web/static/images/emoji/dress.png b/web/static/images/emoji/dress.png Binary files differindex 6434e2e2f..512fe8bfe 100755..100644 --- a/web/static/images/emoji/dress.png +++ b/web/static/images/emoji/dress.png diff --git a/web/static/images/emoji/dromedary_camel.png b/web/static/images/emoji/dromedary_camel.png Binary files differindex c8c7b9ffa..e881a8b5f 100755..100644 --- a/web/static/images/emoji/dromedary_camel.png +++ b/web/static/images/emoji/dromedary_camel.png diff --git a/web/static/images/emoji/droplet.png b/web/static/images/emoji/droplet.png Binary files differindex cae7f4951..074982362 100755..100644 --- a/web/static/images/emoji/droplet.png +++ b/web/static/images/emoji/droplet.png diff --git a/web/static/images/emoji/dvd.png b/web/static/images/emoji/dvd.png Binary files differindex 363c83d01..6f7b85774 100755..100644 --- a/web/static/images/emoji/dvd.png +++ b/web/static/images/emoji/dvd.png diff --git a/web/static/images/emoji/e-mail.png b/web/static/images/emoji/e-mail.png Binary files differindex 176a8e1e8..838ee67ed 100755..100644 --- a/web/static/images/emoji/e-mail.png +++ b/web/static/images/emoji/e-mail.png diff --git a/web/static/images/emoji/ear.png b/web/static/images/emoji/ear.png Binary files differindex 2bbbf10c9..a29807228 100755..100644 --- a/web/static/images/emoji/ear.png +++ b/web/static/images/emoji/ear.png diff --git a/web/static/images/emoji/ear_of_rice.png b/web/static/images/emoji/ear_of_rice.png Binary files differindex a9bba5c2c..9d3f454f8 100755..100644 --- a/web/static/images/emoji/ear_of_rice.png +++ b/web/static/images/emoji/ear_of_rice.png diff --git a/web/static/images/emoji/earth_africa.png b/web/static/images/emoji/earth_africa.png Binary files differindex 44ce5ecb6..a4bbace54 100755..100644 --- a/web/static/images/emoji/earth_africa.png +++ b/web/static/images/emoji/earth_africa.png diff --git a/web/static/images/emoji/earth_americas.png b/web/static/images/emoji/earth_americas.png Binary files differindex 97d717671..13a307f3c 100755..100644 --- a/web/static/images/emoji/earth_americas.png +++ b/web/static/images/emoji/earth_americas.png diff --git a/web/static/images/emoji/earth_asia.png b/web/static/images/emoji/earth_asia.png Binary files differindex 95ec357ca..908e483fa 100755..100644 --- a/web/static/images/emoji/earth_asia.png +++ b/web/static/images/emoji/earth_asia.png diff --git a/web/static/images/emoji/egg.png b/web/static/images/emoji/egg.png Binary files differindex c3de6ae4e..b5c090a17 100755..100644 --- a/web/static/images/emoji/egg.png +++ b/web/static/images/emoji/egg.png diff --git a/web/static/images/emoji/eggplant.png b/web/static/images/emoji/eggplant.png Binary files differindex 66f25fce4..75c902569 100755..100644 --- a/web/static/images/emoji/eggplant.png +++ b/web/static/images/emoji/eggplant.png diff --git a/web/static/images/emoji/eight.png b/web/static/images/emoji/eight.png Binary files differindex 7bdb42232..48c5ca813 100755..100644 --- a/web/static/images/emoji/eight.png +++ b/web/static/images/emoji/eight.png diff --git a/web/static/images/emoji/eight_pointed_black_star.png b/web/static/images/emoji/eight_pointed_black_star.png Binary files differindex 2420a7768..ea1ba7edb 100755..100644 --- a/web/static/images/emoji/eight_pointed_black_star.png +++ b/web/static/images/emoji/eight_pointed_black_star.png diff --git a/web/static/images/emoji/eight_spoked_asterisk.png b/web/static/images/emoji/eight_spoked_asterisk.png Binary files differindex 946a20333..aaa681d4f 100755..100644 --- a/web/static/images/emoji/eight_spoked_asterisk.png +++ b/web/static/images/emoji/eight_spoked_asterisk.png diff --git a/web/static/images/emoji/electric_plug.png b/web/static/images/emoji/electric_plug.png Binary files differindex 2837bab4f..e15d4d5ad 100755..100644 --- a/web/static/images/emoji/electric_plug.png +++ b/web/static/images/emoji/electric_plug.png diff --git a/web/static/images/emoji/elephant.png b/web/static/images/emoji/elephant.png Binary files differindex 5ca04570e..af079ec4d 100755..100644 --- a/web/static/images/emoji/elephant.png +++ b/web/static/images/emoji/elephant.png diff --git a/web/static/images/emoji/email.png b/web/static/images/emoji/email.png Binary files differindex 0e01fd5f0..c0bb4ebfd 100755..100644 --- a/web/static/images/emoji/email.png +++ b/web/static/images/emoji/email.png diff --git a/web/static/images/emoji/end.png b/web/static/images/emoji/end.png Binary files differindex 61a4399ad..03bfb2869 100755..100644 --- a/web/static/images/emoji/end.png +++ b/web/static/images/emoji/end.png diff --git a/web/static/images/emoji/envelope.png b/web/static/images/emoji/envelope.png Binary files differindex 3631861bb..c0bb4ebfd 100755..100644 --- a/web/static/images/emoji/envelope.png +++ b/web/static/images/emoji/envelope.png diff --git a/web/static/images/emoji/envelope_with_arrow.png b/web/static/images/emoji/envelope_with_arrow.png Binary files differnew file mode 100644 index 000000000..373cd8f0f --- /dev/null +++ b/web/static/images/emoji/envelope_with_arrow.png diff --git a/web/static/images/emoji/es.png b/web/static/images/emoji/es.png Binary files differindex 71b30bff3..16a772cd1 100755..100644 --- a/web/static/images/emoji/es.png +++ b/web/static/images/emoji/es.png diff --git a/web/static/images/emoji/euro.png b/web/static/images/emoji/euro.png Binary files differindex 1c5904b71..4efcecc3c 100755..100644 --- a/web/static/images/emoji/euro.png +++ b/web/static/images/emoji/euro.png diff --git a/web/static/images/emoji/european_castle.png b/web/static/images/emoji/european_castle.png Binary files differindex 8229b8a8a..35cdcf722 100755..100644 --- a/web/static/images/emoji/european_castle.png +++ b/web/static/images/emoji/european_castle.png diff --git a/web/static/images/emoji/european_post_office.png b/web/static/images/emoji/european_post_office.png Binary files differindex 0f65b1453..b1cc0ddb8 100755..100644 --- a/web/static/images/emoji/european_post_office.png +++ b/web/static/images/emoji/european_post_office.png diff --git a/web/static/images/emoji/evergreen_tree.png b/web/static/images/emoji/evergreen_tree.png Binary files differindex ae8ad1037..dd88a6934 100755..100644 --- a/web/static/images/emoji/evergreen_tree.png +++ b/web/static/images/emoji/evergreen_tree.png diff --git a/web/static/images/emoji/exclamation.png b/web/static/images/emoji/exclamation.png Binary files differindex 77bbdeabc..b8fca78bc 100755..100644 --- a/web/static/images/emoji/exclamation.png +++ b/web/static/images/emoji/exclamation.png diff --git a/web/static/images/emoji/expressionless.png b/web/static/images/emoji/expressionless.png Binary files differindex 913ff4e2f..404129c98 100755..100644 --- a/web/static/images/emoji/expressionless.png +++ b/web/static/images/emoji/expressionless.png diff --git a/web/static/images/emoji/eye.png b/web/static/images/emoji/eye.png Binary files differnew file mode 100644 index 000000000..66182c9f1 --- /dev/null +++ b/web/static/images/emoji/eye.png diff --git a/web/static/images/emoji/eyeglasses.png b/web/static/images/emoji/eyeglasses.png Binary files differindex a3cf75a27..f1f4612ba 100755..100644 --- a/web/static/images/emoji/eyeglasses.png +++ b/web/static/images/emoji/eyeglasses.png diff --git a/web/static/images/emoji/eyes.png b/web/static/images/emoji/eyes.png Binary files differindex 1ac24a615..d9a6163f4 100755..100644 --- a/web/static/images/emoji/eyes.png +++ b/web/static/images/emoji/eyes.png diff --git a/web/static/images/emoji/facepunch.png b/web/static/images/emoji/facepunch.png Binary files differindex 277047b7c..7d10b3eda 100755..100644 --- a/web/static/images/emoji/facepunch.png +++ b/web/static/images/emoji/facepunch.png diff --git a/web/static/images/emoji/factory.png b/web/static/images/emoji/factory.png Binary files differindex 640463479..e2d70133b 100755..100644 --- a/web/static/images/emoji/factory.png +++ b/web/static/images/emoji/factory.png diff --git a/web/static/images/emoji/fallen_leaf.png b/web/static/images/emoji/fallen_leaf.png Binary files differindex d49f9c175..430ac0297 100755..100644 --- a/web/static/images/emoji/fallen_leaf.png +++ b/web/static/images/emoji/fallen_leaf.png diff --git a/web/static/images/emoji/family.png b/web/static/images/emoji/family.png Binary files differindex b4b365f3a..e0d81ddb7 100755..100644 --- a/web/static/images/emoji/family.png +++ b/web/static/images/emoji/family.png diff --git a/web/static/images/emoji/fast_forward.png b/web/static/images/emoji/fast_forward.png Binary files differindex 8830e146e..dda9bec2a 100755..100644 --- a/web/static/images/emoji/fast_forward.png +++ b/web/static/images/emoji/fast_forward.png diff --git a/web/static/images/emoji/fax.png b/web/static/images/emoji/fax.png Binary files differindex 62be2c958..10f81dad1 100755..100644 --- a/web/static/images/emoji/fax.png +++ b/web/static/images/emoji/fax.png diff --git a/web/static/images/emoji/fearful.png b/web/static/images/emoji/fearful.png Binary files differindex 513fce47b..4ac78c208 100755..100644 --- a/web/static/images/emoji/fearful.png +++ b/web/static/images/emoji/fearful.png diff --git a/web/static/images/emoji/feelsgood.png b/web/static/images/emoji/feelsgood.png Binary files differindex 361f969bc..361f969bc 100755..100644 --- a/web/static/images/emoji/feelsgood.png +++ b/web/static/images/emoji/feelsgood.png diff --git a/web/static/images/emoji/feet.png b/web/static/images/emoji/feet.png Binary files differindex 1b0147b1d..b36eba864 100755..100644 --- a/web/static/images/emoji/feet.png +++ b/web/static/images/emoji/feet.png diff --git a/web/static/images/emoji/ferris_wheel.png b/web/static/images/emoji/ferris_wheel.png Binary files differindex 54a1dcfa1..56bfd87fb 100755..100644 --- a/web/static/images/emoji/ferris_wheel.png +++ b/web/static/images/emoji/ferris_wheel.png diff --git a/web/static/images/emoji/file_cabinet.png b/web/static/images/emoji/file_cabinet.png Binary files differnew file mode 100644 index 000000000..e45c65729 --- /dev/null +++ b/web/static/images/emoji/file_cabinet.png diff --git a/web/static/images/emoji/file_folder.png b/web/static/images/emoji/file_folder.png Binary files differindex 4d8bebf8a..17adcfd26 100755..100644 --- a/web/static/images/emoji/file_folder.png +++ b/web/static/images/emoji/file_folder.png diff --git a/web/static/images/emoji/film_frames.png b/web/static/images/emoji/film_frames.png Binary files differnew file mode 100644 index 000000000..d2b9082bc --- /dev/null +++ b/web/static/images/emoji/film_frames.png diff --git a/web/static/images/emoji/film_projector.png b/web/static/images/emoji/film_projector.png Binary files differnew file mode 100644 index 000000000..46800d29d --- /dev/null +++ b/web/static/images/emoji/film_projector.png diff --git a/web/static/images/emoji/finnadie.png b/web/static/images/emoji/finnadie.png Binary files differindex bfc5a0d93..bfc5a0d93 100755..100644 --- a/web/static/images/emoji/finnadie.png +++ b/web/static/images/emoji/finnadie.png diff --git a/web/static/images/emoji/fire.png b/web/static/images/emoji/fire.png Binary files differindex f2a3149bb..3149ed675 100755..100644 --- a/web/static/images/emoji/fire.png +++ b/web/static/images/emoji/fire.png diff --git a/web/static/images/emoji/fire_engine.png b/web/static/images/emoji/fire_engine.png Binary files differindex 9e6c59c99..0336bfdf5 100755..100644 --- a/web/static/images/emoji/fire_engine.png +++ b/web/static/images/emoji/fire_engine.png diff --git a/web/static/images/emoji/fireworks.png b/web/static/images/emoji/fireworks.png Binary files differindex b4eccd577..8e081a718 100755..100644 --- a/web/static/images/emoji/fireworks.png +++ b/web/static/images/emoji/fireworks.png diff --git a/web/static/images/emoji/first_quarter_moon.png b/web/static/images/emoji/first_quarter_moon.png Binary files differindex f38c23693..14734a42c 100755..100644 --- a/web/static/images/emoji/first_quarter_moon.png +++ b/web/static/images/emoji/first_quarter_moon.png diff --git a/web/static/images/emoji/first_quarter_moon_with_face.png b/web/static/images/emoji/first_quarter_moon_with_face.png Binary files differindex 85ae2ce72..8f10b3cfe 100755..100644 --- a/web/static/images/emoji/first_quarter_moon_with_face.png +++ b/web/static/images/emoji/first_quarter_moon_with_face.png diff --git a/web/static/images/emoji/fish.png b/web/static/images/emoji/fish.png Binary files differindex 90bdda2c9..cb7b896d6 100755..100644 --- a/web/static/images/emoji/fish.png +++ b/web/static/images/emoji/fish.png diff --git a/web/static/images/emoji/fish_cake.png b/web/static/images/emoji/fish_cake.png Binary files differindex a8f22614d..6ff94bc36 100755..100644 --- a/web/static/images/emoji/fish_cake.png +++ b/web/static/images/emoji/fish_cake.png diff --git a/web/static/images/emoji/fishing_pole_and_fish.png b/web/static/images/emoji/fishing_pole_and_fish.png Binary files differindex d84609c3b..270a011dd 100755..100644 --- a/web/static/images/emoji/fishing_pole_and_fish.png +++ b/web/static/images/emoji/fishing_pole_and_fish.png diff --git a/web/static/images/emoji/fist.png b/web/static/images/emoji/fist.png Binary files differindex ecc8874c2..97e5b0639 100755..100644 --- a/web/static/images/emoji/fist.png +++ b/web/static/images/emoji/fist.png diff --git a/web/static/images/emoji/five.png b/web/static/images/emoji/five.png Binary files differindex 794321aa2..9b527aeb7 100755..100644 --- a/web/static/images/emoji/five.png +++ b/web/static/images/emoji/five.png diff --git a/web/static/images/emoji/flag-ac.png b/web/static/images/emoji/flag-ac.png Binary files differnew file mode 100644 index 000000000..56115ba78 --- /dev/null +++ b/web/static/images/emoji/flag-ac.png diff --git a/web/static/images/emoji/flag-ad.png b/web/static/images/emoji/flag-ad.png Binary files differnew file mode 100644 index 000000000..d3fabc4b0 --- /dev/null +++ b/web/static/images/emoji/flag-ad.png diff --git a/web/static/images/emoji/flag-ae.png b/web/static/images/emoji/flag-ae.png Binary files differnew file mode 100644 index 000000000..57cade93b --- /dev/null +++ b/web/static/images/emoji/flag-ae.png diff --git a/web/static/images/emoji/flag-af.png b/web/static/images/emoji/flag-af.png Binary files differnew file mode 100644 index 000000000..af7e886df --- /dev/null +++ b/web/static/images/emoji/flag-af.png diff --git a/web/static/images/emoji/flag-ag.png b/web/static/images/emoji/flag-ag.png Binary files differnew file mode 100644 index 000000000..9e2dc805e --- /dev/null +++ b/web/static/images/emoji/flag-ag.png diff --git a/web/static/images/emoji/flag-ai.png b/web/static/images/emoji/flag-ai.png Binary files differnew file mode 100644 index 000000000..2046a5a83 --- /dev/null +++ b/web/static/images/emoji/flag-ai.png diff --git a/web/static/images/emoji/flag-al.png b/web/static/images/emoji/flag-al.png Binary files differnew file mode 100644 index 000000000..0c76f4af4 --- /dev/null +++ b/web/static/images/emoji/flag-al.png diff --git a/web/static/images/emoji/flag-am.png b/web/static/images/emoji/flag-am.png Binary files differnew file mode 100644 index 000000000..1e39fe1fe --- /dev/null +++ b/web/static/images/emoji/flag-am.png diff --git a/web/static/images/emoji/flag-ao.png b/web/static/images/emoji/flag-ao.png Binary files differnew file mode 100644 index 000000000..01a469e9e --- /dev/null +++ b/web/static/images/emoji/flag-ao.png diff --git a/web/static/images/emoji/flag-ar.png b/web/static/images/emoji/flag-ar.png Binary files differnew file mode 100644 index 000000000..603697bad --- /dev/null +++ b/web/static/images/emoji/flag-ar.png diff --git a/web/static/images/emoji/flag-at.png b/web/static/images/emoji/flag-at.png Binary files differnew file mode 100644 index 000000000..38988f737 --- /dev/null +++ b/web/static/images/emoji/flag-at.png diff --git a/web/static/images/emoji/flag-au.png b/web/static/images/emoji/flag-au.png Binary files differnew file mode 100644 index 000000000..fdc448c91 --- /dev/null +++ b/web/static/images/emoji/flag-au.png diff --git a/web/static/images/emoji/flag-aw.png b/web/static/images/emoji/flag-aw.png Binary files differnew file mode 100644 index 000000000..fda4d0b19 --- /dev/null +++ b/web/static/images/emoji/flag-aw.png diff --git a/web/static/images/emoji/flag-az.png b/web/static/images/emoji/flag-az.png Binary files differnew file mode 100644 index 000000000..3efb55bfc --- /dev/null +++ b/web/static/images/emoji/flag-az.png diff --git a/web/static/images/emoji/flag-ba.png b/web/static/images/emoji/flag-ba.png Binary files differnew file mode 100644 index 000000000..47028b1f2 --- /dev/null +++ b/web/static/images/emoji/flag-ba.png diff --git a/web/static/images/emoji/flag-bb.png b/web/static/images/emoji/flag-bb.png Binary files differnew file mode 100644 index 000000000..8bfb6fcb0 --- /dev/null +++ b/web/static/images/emoji/flag-bb.png diff --git a/web/static/images/emoji/flag-bd.png b/web/static/images/emoji/flag-bd.png Binary files differnew file mode 100644 index 000000000..a4b7928c8 --- /dev/null +++ b/web/static/images/emoji/flag-bd.png diff --git a/web/static/images/emoji/flag-be.png b/web/static/images/emoji/flag-be.png Binary files differnew file mode 100644 index 000000000..f996f6fc0 --- /dev/null +++ b/web/static/images/emoji/flag-be.png diff --git a/web/static/images/emoji/flag-bf.png b/web/static/images/emoji/flag-bf.png Binary files differnew file mode 100644 index 000000000..185eb5a92 --- /dev/null +++ b/web/static/images/emoji/flag-bf.png diff --git a/web/static/images/emoji/flag-bg.png b/web/static/images/emoji/flag-bg.png Binary files differnew file mode 100644 index 000000000..849c68a22 --- /dev/null +++ b/web/static/images/emoji/flag-bg.png diff --git a/web/static/images/emoji/flag-bh.png b/web/static/images/emoji/flag-bh.png Binary files differnew file mode 100644 index 000000000..b0cabb344 --- /dev/null +++ b/web/static/images/emoji/flag-bh.png diff --git a/web/static/images/emoji/flag-bi.png b/web/static/images/emoji/flag-bi.png Binary files differnew file mode 100644 index 000000000..b2de6ba9d --- /dev/null +++ b/web/static/images/emoji/flag-bi.png diff --git a/web/static/images/emoji/flag-bj.png b/web/static/images/emoji/flag-bj.png Binary files differnew file mode 100644 index 000000000..6023c7286 --- /dev/null +++ b/web/static/images/emoji/flag-bj.png diff --git a/web/static/images/emoji/flag-bm.png b/web/static/images/emoji/flag-bm.png Binary files differnew file mode 100644 index 000000000..cce7665e5 --- /dev/null +++ b/web/static/images/emoji/flag-bm.png diff --git a/web/static/images/emoji/flag-bn.png b/web/static/images/emoji/flag-bn.png Binary files differnew file mode 100644 index 000000000..37ffaaf4a --- /dev/null +++ b/web/static/images/emoji/flag-bn.png diff --git a/web/static/images/emoji/flag-bo.png b/web/static/images/emoji/flag-bo.png Binary files differnew file mode 100644 index 000000000..9e7b9bd6d --- /dev/null +++ b/web/static/images/emoji/flag-bo.png diff --git a/web/static/images/emoji/flag-br.png b/web/static/images/emoji/flag-br.png Binary files differnew file mode 100644 index 000000000..1218801ec --- /dev/null +++ b/web/static/images/emoji/flag-br.png diff --git a/web/static/images/emoji/flag-bs.png b/web/static/images/emoji/flag-bs.png Binary files differnew file mode 100644 index 000000000..56304afc5 --- /dev/null +++ b/web/static/images/emoji/flag-bs.png diff --git a/web/static/images/emoji/flag-bt.png b/web/static/images/emoji/flag-bt.png Binary files differnew file mode 100644 index 000000000..5419aeeb3 --- /dev/null +++ b/web/static/images/emoji/flag-bt.png diff --git a/web/static/images/emoji/flag-bw.png b/web/static/images/emoji/flag-bw.png Binary files differnew file mode 100644 index 000000000..b82b4e244 --- /dev/null +++ b/web/static/images/emoji/flag-bw.png diff --git a/web/static/images/emoji/flag-by.png b/web/static/images/emoji/flag-by.png Binary files differnew file mode 100644 index 000000000..fbf36a528 --- /dev/null +++ b/web/static/images/emoji/flag-by.png diff --git a/web/static/images/emoji/flag-bz.png b/web/static/images/emoji/flag-bz.png Binary files differnew file mode 100644 index 000000000..4e300a7a9 --- /dev/null +++ b/web/static/images/emoji/flag-bz.png diff --git a/web/static/images/emoji/flag-ca.png b/web/static/images/emoji/flag-ca.png Binary files differnew file mode 100644 index 000000000..2838b5e82 --- /dev/null +++ b/web/static/images/emoji/flag-ca.png diff --git a/web/static/images/emoji/flag-cd.png b/web/static/images/emoji/flag-cd.png Binary files differnew file mode 100644 index 000000000..b7620b487 --- /dev/null +++ b/web/static/images/emoji/flag-cd.png diff --git a/web/static/images/emoji/flag-cf.png b/web/static/images/emoji/flag-cf.png Binary files differnew file mode 100644 index 000000000..32accc631 --- /dev/null +++ b/web/static/images/emoji/flag-cf.png diff --git a/web/static/images/emoji/flag-cg.png b/web/static/images/emoji/flag-cg.png Binary files differnew file mode 100644 index 000000000..51d0cb55b --- /dev/null +++ b/web/static/images/emoji/flag-cg.png diff --git a/web/static/images/emoji/flag-ch.png b/web/static/images/emoji/flag-ch.png Binary files differnew file mode 100644 index 000000000..53f7c0496 --- /dev/null +++ b/web/static/images/emoji/flag-ch.png diff --git a/web/static/images/emoji/flag-ci.png b/web/static/images/emoji/flag-ci.png Binary files differnew file mode 100644 index 000000000..3a1fb1946 --- /dev/null +++ b/web/static/images/emoji/flag-ci.png diff --git a/web/static/images/emoji/flag-cl.png b/web/static/images/emoji/flag-cl.png Binary files differnew file mode 100644 index 000000000..ebbf710d2 --- /dev/null +++ b/web/static/images/emoji/flag-cl.png diff --git a/web/static/images/emoji/flag-cm.png b/web/static/images/emoji/flag-cm.png Binary files differnew file mode 100644 index 000000000..71024ac1c --- /dev/null +++ b/web/static/images/emoji/flag-cm.png diff --git a/web/static/images/emoji/flag-cn.png b/web/static/images/emoji/flag-cn.png Binary files differnew file mode 100644 index 000000000..0151923f3 --- /dev/null +++ b/web/static/images/emoji/flag-cn.png diff --git a/web/static/images/emoji/flag-co.png b/web/static/images/emoji/flag-co.png Binary files differnew file mode 100644 index 000000000..b64536ac3 --- /dev/null +++ b/web/static/images/emoji/flag-co.png diff --git a/web/static/images/emoji/flag-cr.png b/web/static/images/emoji/flag-cr.png Binary files differnew file mode 100644 index 000000000..74612a90e --- /dev/null +++ b/web/static/images/emoji/flag-cr.png diff --git a/web/static/images/emoji/flag-cu.png b/web/static/images/emoji/flag-cu.png Binary files differnew file mode 100644 index 000000000..37a9cc10b --- /dev/null +++ b/web/static/images/emoji/flag-cu.png diff --git a/web/static/images/emoji/flag-cv.png b/web/static/images/emoji/flag-cv.png Binary files differnew file mode 100644 index 000000000..7a6a41e90 --- /dev/null +++ b/web/static/images/emoji/flag-cv.png diff --git a/web/static/images/emoji/flag-cy.png b/web/static/images/emoji/flag-cy.png Binary files differnew file mode 100644 index 000000000..4f593449a --- /dev/null +++ b/web/static/images/emoji/flag-cy.png diff --git a/web/static/images/emoji/flag-cz.png b/web/static/images/emoji/flag-cz.png Binary files differnew file mode 100644 index 000000000..aa9a40c74 --- /dev/null +++ b/web/static/images/emoji/flag-cz.png diff --git a/web/static/images/emoji/flag-de.png b/web/static/images/emoji/flag-de.png Binary files differnew file mode 100644 index 000000000..168ab43c3 --- /dev/null +++ b/web/static/images/emoji/flag-de.png diff --git a/web/static/images/emoji/flag-dj.png b/web/static/images/emoji/flag-dj.png Binary files differnew file mode 100644 index 000000000..ba0833714 --- /dev/null +++ b/web/static/images/emoji/flag-dj.png diff --git a/web/static/images/emoji/flag-dk.png b/web/static/images/emoji/flag-dk.png Binary files differnew file mode 100644 index 000000000..2e6b7a624 --- /dev/null +++ b/web/static/images/emoji/flag-dk.png diff --git a/web/static/images/emoji/flag-dm.png b/web/static/images/emoji/flag-dm.png Binary files differnew file mode 100644 index 000000000..1b90463e5 --- /dev/null +++ b/web/static/images/emoji/flag-dm.png diff --git a/web/static/images/emoji/flag-do.png b/web/static/images/emoji/flag-do.png Binary files differnew file mode 100644 index 000000000..d5c1ac5ba --- /dev/null +++ b/web/static/images/emoji/flag-do.png diff --git a/web/static/images/emoji/flag-dz.png b/web/static/images/emoji/flag-dz.png Binary files differnew file mode 100644 index 000000000..a778a7995 --- /dev/null +++ b/web/static/images/emoji/flag-dz.png diff --git a/web/static/images/emoji/flag-ec.png b/web/static/images/emoji/flag-ec.png Binary files differnew file mode 100644 index 000000000..7f40f138d --- /dev/null +++ b/web/static/images/emoji/flag-ec.png diff --git a/web/static/images/emoji/flag-ee.png b/web/static/images/emoji/flag-ee.png Binary files differnew file mode 100644 index 000000000..1aa45dc2a --- /dev/null +++ b/web/static/images/emoji/flag-ee.png diff --git a/web/static/images/emoji/flag-eg.png b/web/static/images/emoji/flag-eg.png Binary files differnew file mode 100644 index 000000000..5904bfac9 --- /dev/null +++ b/web/static/images/emoji/flag-eg.png diff --git a/web/static/images/emoji/flag-eh.png b/web/static/images/emoji/flag-eh.png Binary files differnew file mode 100644 index 000000000..5c1bf6134 --- /dev/null +++ b/web/static/images/emoji/flag-eh.png diff --git a/web/static/images/emoji/flag-er.png b/web/static/images/emoji/flag-er.png Binary files differnew file mode 100644 index 000000000..fa4f25eed --- /dev/null +++ b/web/static/images/emoji/flag-er.png diff --git a/web/static/images/emoji/flag-es.png b/web/static/images/emoji/flag-es.png Binary files differnew file mode 100644 index 000000000..16a772cd1 --- /dev/null +++ b/web/static/images/emoji/flag-es.png diff --git a/web/static/images/emoji/flag-et.png b/web/static/images/emoji/flag-et.png Binary files differnew file mode 100644 index 000000000..4833e8431 --- /dev/null +++ b/web/static/images/emoji/flag-et.png diff --git a/web/static/images/emoji/flag-fi.png b/web/static/images/emoji/flag-fi.png Binary files differnew file mode 100644 index 000000000..b2a5c3d24 --- /dev/null +++ b/web/static/images/emoji/flag-fi.png diff --git a/web/static/images/emoji/flag-fj.png b/web/static/images/emoji/flag-fj.png Binary files differnew file mode 100644 index 000000000..a7a731e6f --- /dev/null +++ b/web/static/images/emoji/flag-fj.png diff --git a/web/static/images/emoji/flag-fk.png b/web/static/images/emoji/flag-fk.png Binary files differnew file mode 100644 index 000000000..c4562eaa6 --- /dev/null +++ b/web/static/images/emoji/flag-fk.png diff --git a/web/static/images/emoji/flag-fm.png b/web/static/images/emoji/flag-fm.png Binary files differnew file mode 100644 index 000000000..42fe76312 --- /dev/null +++ b/web/static/images/emoji/flag-fm.png diff --git a/web/static/images/emoji/flag-fo.png b/web/static/images/emoji/flag-fo.png Binary files differnew file mode 100644 index 000000000..e9d8e4cf4 --- /dev/null +++ b/web/static/images/emoji/flag-fo.png diff --git a/web/static/images/emoji/flag-fr.png b/web/static/images/emoji/flag-fr.png Binary files differnew file mode 100644 index 000000000..14271f059 --- /dev/null +++ b/web/static/images/emoji/flag-fr.png diff --git a/web/static/images/emoji/flag-ga.png b/web/static/images/emoji/flag-ga.png Binary files differnew file mode 100644 index 000000000..4a3b5ccf9 --- /dev/null +++ b/web/static/images/emoji/flag-ga.png diff --git a/web/static/images/emoji/flag-gb.png b/web/static/images/emoji/flag-gb.png Binary files differnew file mode 100644 index 000000000..61c03f759 --- /dev/null +++ b/web/static/images/emoji/flag-gb.png diff --git a/web/static/images/emoji/flag-gd.png b/web/static/images/emoji/flag-gd.png Binary files differnew file mode 100644 index 000000000..4f9dc82d7 --- /dev/null +++ b/web/static/images/emoji/flag-gd.png diff --git a/web/static/images/emoji/flag-ge.png b/web/static/images/emoji/flag-ge.png Binary files differnew file mode 100644 index 000000000..1fe16f968 --- /dev/null +++ b/web/static/images/emoji/flag-ge.png diff --git a/web/static/images/emoji/flag-gh.png b/web/static/images/emoji/flag-gh.png Binary files differnew file mode 100644 index 000000000..0aadf4db2 --- /dev/null +++ b/web/static/images/emoji/flag-gh.png diff --git a/web/static/images/emoji/flag-gi.png b/web/static/images/emoji/flag-gi.png Binary files differnew file mode 100644 index 000000000..e95abe51f --- /dev/null +++ b/web/static/images/emoji/flag-gi.png diff --git a/web/static/images/emoji/flag-gl.png b/web/static/images/emoji/flag-gl.png Binary files differnew file mode 100644 index 000000000..76708a55f --- /dev/null +++ b/web/static/images/emoji/flag-gl.png diff --git a/web/static/images/emoji/flag-gm.png b/web/static/images/emoji/flag-gm.png Binary files differnew file mode 100644 index 000000000..c5a72895f --- /dev/null +++ b/web/static/images/emoji/flag-gm.png diff --git a/web/static/images/emoji/flag-gn.png b/web/static/images/emoji/flag-gn.png Binary files differnew file mode 100644 index 000000000..fdd5c2d14 --- /dev/null +++ b/web/static/images/emoji/flag-gn.png diff --git a/web/static/images/emoji/flag-gq.png b/web/static/images/emoji/flag-gq.png Binary files differnew file mode 100644 index 000000000..7fc7c86c8 --- /dev/null +++ b/web/static/images/emoji/flag-gq.png diff --git a/web/static/images/emoji/flag-gr.png b/web/static/images/emoji/flag-gr.png Binary files differnew file mode 100644 index 000000000..091f1ab07 --- /dev/null +++ b/web/static/images/emoji/flag-gr.png diff --git a/web/static/images/emoji/flag-gt.png b/web/static/images/emoji/flag-gt.png Binary files differnew file mode 100644 index 000000000..66437d0de --- /dev/null +++ b/web/static/images/emoji/flag-gt.png diff --git a/web/static/images/emoji/flag-gu.png b/web/static/images/emoji/flag-gu.png Binary files differnew file mode 100644 index 000000000..a4d2024b1 --- /dev/null +++ b/web/static/images/emoji/flag-gu.png diff --git a/web/static/images/emoji/flag-gw.png b/web/static/images/emoji/flag-gw.png Binary files differnew file mode 100644 index 000000000..a70abe908 --- /dev/null +++ b/web/static/images/emoji/flag-gw.png diff --git a/web/static/images/emoji/flag-gy.png b/web/static/images/emoji/flag-gy.png Binary files differnew file mode 100644 index 000000000..2cc8ecaab --- /dev/null +++ b/web/static/images/emoji/flag-gy.png diff --git a/web/static/images/emoji/flag-hk.png b/web/static/images/emoji/flag-hk.png Binary files differnew file mode 100644 index 000000000..cff8e25fd --- /dev/null +++ b/web/static/images/emoji/flag-hk.png diff --git a/web/static/images/emoji/flag-hn.png b/web/static/images/emoji/flag-hn.png Binary files differnew file mode 100644 index 000000000..e4eeee2d8 --- /dev/null +++ b/web/static/images/emoji/flag-hn.png diff --git a/web/static/images/emoji/flag-hr.png b/web/static/images/emoji/flag-hr.png Binary files differnew file mode 100644 index 000000000..be0823c21 --- /dev/null +++ b/web/static/images/emoji/flag-hr.png diff --git a/web/static/images/emoji/flag-ht.png b/web/static/images/emoji/flag-ht.png Binary files differnew file mode 100644 index 000000000..76d3d94ad --- /dev/null +++ b/web/static/images/emoji/flag-ht.png diff --git a/web/static/images/emoji/flag-hu.png b/web/static/images/emoji/flag-hu.png Binary files differnew file mode 100644 index 000000000..028f853dd --- /dev/null +++ b/web/static/images/emoji/flag-hu.png diff --git a/web/static/images/emoji/flag-id.png b/web/static/images/emoji/flag-id.png Binary files differnew file mode 100644 index 000000000..90042acf5 --- /dev/null +++ b/web/static/images/emoji/flag-id.png diff --git a/web/static/images/emoji/flag-ie.png b/web/static/images/emoji/flag-ie.png Binary files differnew file mode 100644 index 000000000..63ae4af61 --- /dev/null +++ b/web/static/images/emoji/flag-ie.png diff --git a/web/static/images/emoji/flag-il.png b/web/static/images/emoji/flag-il.png Binary files differnew file mode 100644 index 000000000..8361d8ee3 --- /dev/null +++ b/web/static/images/emoji/flag-il.png diff --git a/web/static/images/emoji/flag-in.png b/web/static/images/emoji/flag-in.png Binary files differnew file mode 100644 index 000000000..6d6f944c4 --- /dev/null +++ b/web/static/images/emoji/flag-in.png diff --git a/web/static/images/emoji/flag-iq.png b/web/static/images/emoji/flag-iq.png Binary files differnew file mode 100644 index 000000000..5fb5d4e3b --- /dev/null +++ b/web/static/images/emoji/flag-iq.png diff --git a/web/static/images/emoji/flag-ir.png b/web/static/images/emoji/flag-ir.png Binary files differnew file mode 100644 index 000000000..23f916063 --- /dev/null +++ b/web/static/images/emoji/flag-ir.png diff --git a/web/static/images/emoji/flag-is.png b/web/static/images/emoji/flag-is.png Binary files differnew file mode 100644 index 000000000..7f2b34832 --- /dev/null +++ b/web/static/images/emoji/flag-is.png diff --git a/web/static/images/emoji/flag-it.png b/web/static/images/emoji/flag-it.png Binary files differnew file mode 100644 index 000000000..bce062350 --- /dev/null +++ b/web/static/images/emoji/flag-it.png diff --git a/web/static/images/emoji/flag-je.png b/web/static/images/emoji/flag-je.png Binary files differnew file mode 100644 index 000000000..822b4340d --- /dev/null +++ b/web/static/images/emoji/flag-je.png diff --git a/web/static/images/emoji/flag-jm.png b/web/static/images/emoji/flag-jm.png Binary files differnew file mode 100644 index 000000000..f179b1404 --- /dev/null +++ b/web/static/images/emoji/flag-jm.png diff --git a/web/static/images/emoji/flag-jo.png b/web/static/images/emoji/flag-jo.png Binary files differnew file mode 100644 index 000000000..15be546e8 --- /dev/null +++ b/web/static/images/emoji/flag-jo.png diff --git a/web/static/images/emoji/flag-jp.png b/web/static/images/emoji/flag-jp.png Binary files differnew file mode 100644 index 000000000..56390ce22 --- /dev/null +++ b/web/static/images/emoji/flag-jp.png diff --git a/web/static/images/emoji/flag-ke.png b/web/static/images/emoji/flag-ke.png Binary files differnew file mode 100644 index 000000000..301bf6eec --- /dev/null +++ b/web/static/images/emoji/flag-ke.png diff --git a/web/static/images/emoji/flag-kg.png b/web/static/images/emoji/flag-kg.png Binary files differnew file mode 100644 index 000000000..6845412e8 --- /dev/null +++ b/web/static/images/emoji/flag-kg.png diff --git a/web/static/images/emoji/flag-kh.png b/web/static/images/emoji/flag-kh.png Binary files differnew file mode 100644 index 000000000..15ccea7a4 --- /dev/null +++ b/web/static/images/emoji/flag-kh.png diff --git a/web/static/images/emoji/flag-ki.png b/web/static/images/emoji/flag-ki.png Binary files differnew file mode 100644 index 000000000..79331c5de --- /dev/null +++ b/web/static/images/emoji/flag-ki.png diff --git a/web/static/images/emoji/flag-km.png b/web/static/images/emoji/flag-km.png Binary files differnew file mode 100644 index 000000000..9a16139aa --- /dev/null +++ b/web/static/images/emoji/flag-km.png diff --git a/web/static/images/emoji/flag-kn.png b/web/static/images/emoji/flag-kn.png Binary files differnew file mode 100644 index 000000000..913f6dfb7 --- /dev/null +++ b/web/static/images/emoji/flag-kn.png diff --git a/web/static/images/emoji/flag-kp.png b/web/static/images/emoji/flag-kp.png Binary files differnew file mode 100644 index 000000000..cb50e9380 --- /dev/null +++ b/web/static/images/emoji/flag-kp.png diff --git a/web/static/images/emoji/flag-kr.png b/web/static/images/emoji/flag-kr.png Binary files differnew file mode 100644 index 000000000..6687991f3 --- /dev/null +++ b/web/static/images/emoji/flag-kr.png diff --git a/web/static/images/emoji/flag-kw.png b/web/static/images/emoji/flag-kw.png Binary files differnew file mode 100644 index 000000000..72ef3415f --- /dev/null +++ b/web/static/images/emoji/flag-kw.png diff --git a/web/static/images/emoji/flag-ky.png b/web/static/images/emoji/flag-ky.png Binary files differnew file mode 100644 index 000000000..d716ddcd5 --- /dev/null +++ b/web/static/images/emoji/flag-ky.png diff --git a/web/static/images/emoji/flag-kz.png b/web/static/images/emoji/flag-kz.png Binary files differnew file mode 100644 index 000000000..49813e5d5 --- /dev/null +++ b/web/static/images/emoji/flag-kz.png diff --git a/web/static/images/emoji/flag-la.png b/web/static/images/emoji/flag-la.png Binary files differnew file mode 100644 index 000000000..6f0dd90f3 --- /dev/null +++ b/web/static/images/emoji/flag-la.png diff --git a/web/static/images/emoji/flag-lb.png b/web/static/images/emoji/flag-lb.png Binary files differnew file mode 100644 index 000000000..8fe041f46 --- /dev/null +++ b/web/static/images/emoji/flag-lb.png diff --git a/web/static/images/emoji/flag-lc.png b/web/static/images/emoji/flag-lc.png Binary files differnew file mode 100644 index 000000000..70a34cb11 --- /dev/null +++ b/web/static/images/emoji/flag-lc.png diff --git a/web/static/images/emoji/flag-li.png b/web/static/images/emoji/flag-li.png Binary files differnew file mode 100644 index 000000000..ad667c3c4 --- /dev/null +++ b/web/static/images/emoji/flag-li.png diff --git a/web/static/images/emoji/flag-lk.png b/web/static/images/emoji/flag-lk.png Binary files differnew file mode 100644 index 000000000..9a205d9cf --- /dev/null +++ b/web/static/images/emoji/flag-lk.png diff --git a/web/static/images/emoji/flag-lr.png b/web/static/images/emoji/flag-lr.png Binary files differnew file mode 100644 index 000000000..2916a1ff4 --- /dev/null +++ b/web/static/images/emoji/flag-lr.png diff --git a/web/static/images/emoji/flag-ls.png b/web/static/images/emoji/flag-ls.png Binary files differnew file mode 100644 index 000000000..a47e7e067 --- /dev/null +++ b/web/static/images/emoji/flag-ls.png diff --git a/web/static/images/emoji/flag-lt.png b/web/static/images/emoji/flag-lt.png Binary files differnew file mode 100644 index 000000000..ea08d9b23 --- /dev/null +++ b/web/static/images/emoji/flag-lt.png diff --git a/web/static/images/emoji/flag-lu.png b/web/static/images/emoji/flag-lu.png Binary files differnew file mode 100644 index 000000000..dbd428878 --- /dev/null +++ b/web/static/images/emoji/flag-lu.png diff --git a/web/static/images/emoji/flag-lv.png b/web/static/images/emoji/flag-lv.png Binary files differnew file mode 100644 index 000000000..a8eef9ff6 --- /dev/null +++ b/web/static/images/emoji/flag-lv.png diff --git a/web/static/images/emoji/flag-ly.png b/web/static/images/emoji/flag-ly.png Binary files differnew file mode 100644 index 000000000..04632748f --- /dev/null +++ b/web/static/images/emoji/flag-ly.png diff --git a/web/static/images/emoji/flag-ma.png b/web/static/images/emoji/flag-ma.png Binary files differnew file mode 100644 index 000000000..1bf4401f6 --- /dev/null +++ b/web/static/images/emoji/flag-ma.png diff --git a/web/static/images/emoji/flag-mc.png b/web/static/images/emoji/flag-mc.png Binary files differnew file mode 100644 index 000000000..039174d3a --- /dev/null +++ b/web/static/images/emoji/flag-mc.png diff --git a/web/static/images/emoji/flag-md.png b/web/static/images/emoji/flag-md.png Binary files differnew file mode 100644 index 000000000..78b5ba7e2 --- /dev/null +++ b/web/static/images/emoji/flag-md.png diff --git a/web/static/images/emoji/flag-me.png b/web/static/images/emoji/flag-me.png Binary files differnew file mode 100644 index 000000000..01245d958 --- /dev/null +++ b/web/static/images/emoji/flag-me.png diff --git a/web/static/images/emoji/flag-mg.png b/web/static/images/emoji/flag-mg.png Binary files differnew file mode 100644 index 000000000..cb55e9fc3 --- /dev/null +++ b/web/static/images/emoji/flag-mg.png diff --git a/web/static/images/emoji/flag-mh.png b/web/static/images/emoji/flag-mh.png Binary files differnew file mode 100644 index 000000000..ff5038b6d --- /dev/null +++ b/web/static/images/emoji/flag-mh.png diff --git a/web/static/images/emoji/flag-mk.png b/web/static/images/emoji/flag-mk.png Binary files differnew file mode 100644 index 000000000..8dadf0110 --- /dev/null +++ b/web/static/images/emoji/flag-mk.png diff --git a/web/static/images/emoji/flag-ml.png b/web/static/images/emoji/flag-ml.png Binary files differnew file mode 100644 index 000000000..53be7c81e --- /dev/null +++ b/web/static/images/emoji/flag-ml.png diff --git a/web/static/images/emoji/flag-mm.png b/web/static/images/emoji/flag-mm.png Binary files differnew file mode 100644 index 000000000..c1cfee7a5 --- /dev/null +++ b/web/static/images/emoji/flag-mm.png diff --git a/web/static/images/emoji/flag-mn.png b/web/static/images/emoji/flag-mn.png Binary files differnew file mode 100644 index 000000000..1beac5568 --- /dev/null +++ b/web/static/images/emoji/flag-mn.png diff --git a/web/static/images/emoji/flag-mo.png b/web/static/images/emoji/flag-mo.png Binary files differnew file mode 100644 index 000000000..6a8fcb9a0 --- /dev/null +++ b/web/static/images/emoji/flag-mo.png diff --git a/web/static/images/emoji/flag-mr.png b/web/static/images/emoji/flag-mr.png Binary files differnew file mode 100644 index 000000000..854690cfb --- /dev/null +++ b/web/static/images/emoji/flag-mr.png diff --git a/web/static/images/emoji/flag-ms.png b/web/static/images/emoji/flag-ms.png Binary files differnew file mode 100644 index 000000000..61b2de721 --- /dev/null +++ b/web/static/images/emoji/flag-ms.png diff --git a/web/static/images/emoji/flag-mt.png b/web/static/images/emoji/flag-mt.png Binary files differnew file mode 100644 index 000000000..2f07f4709 --- /dev/null +++ b/web/static/images/emoji/flag-mt.png diff --git a/web/static/images/emoji/flag-mu.png b/web/static/images/emoji/flag-mu.png Binary files differnew file mode 100644 index 000000000..9d28c0812 --- /dev/null +++ b/web/static/images/emoji/flag-mu.png diff --git a/web/static/images/emoji/flag-mv.png b/web/static/images/emoji/flag-mv.png Binary files differnew file mode 100644 index 000000000..4ea56e841 --- /dev/null +++ b/web/static/images/emoji/flag-mv.png diff --git a/web/static/images/emoji/flag-mw.png b/web/static/images/emoji/flag-mw.png Binary files differnew file mode 100644 index 000000000..361aa65ec --- /dev/null +++ b/web/static/images/emoji/flag-mw.png diff --git a/web/static/images/emoji/flag-mx.png b/web/static/images/emoji/flag-mx.png Binary files differnew file mode 100644 index 000000000..c44c24df1 --- /dev/null +++ b/web/static/images/emoji/flag-mx.png diff --git a/web/static/images/emoji/flag-my.png b/web/static/images/emoji/flag-my.png Binary files differnew file mode 100644 index 000000000..166fd5ba7 --- /dev/null +++ b/web/static/images/emoji/flag-my.png diff --git a/web/static/images/emoji/flag-mz.png b/web/static/images/emoji/flag-mz.png Binary files differnew file mode 100644 index 000000000..209db39ee --- /dev/null +++ b/web/static/images/emoji/flag-mz.png diff --git a/web/static/images/emoji/flag-na.png b/web/static/images/emoji/flag-na.png Binary files differnew file mode 100644 index 000000000..84fab946d --- /dev/null +++ b/web/static/images/emoji/flag-na.png diff --git a/web/static/images/emoji/flag-nc.png b/web/static/images/emoji/flag-nc.png Binary files differnew file mode 100644 index 000000000..6372d93c7 --- /dev/null +++ b/web/static/images/emoji/flag-nc.png diff --git a/web/static/images/emoji/flag-ne.png b/web/static/images/emoji/flag-ne.png Binary files differnew file mode 100644 index 000000000..3fd0d99ab --- /dev/null +++ b/web/static/images/emoji/flag-ne.png diff --git a/web/static/images/emoji/flag-ng.png b/web/static/images/emoji/flag-ng.png Binary files differnew file mode 100644 index 000000000..2c98fcdff --- /dev/null +++ b/web/static/images/emoji/flag-ng.png diff --git a/web/static/images/emoji/flag-ni.png b/web/static/images/emoji/flag-ni.png Binary files differnew file mode 100644 index 000000000..88055d5a0 --- /dev/null +++ b/web/static/images/emoji/flag-ni.png diff --git a/web/static/images/emoji/flag-nl.png b/web/static/images/emoji/flag-nl.png Binary files differnew file mode 100644 index 000000000..d5de058a4 --- /dev/null +++ b/web/static/images/emoji/flag-nl.png diff --git a/web/static/images/emoji/flag-no.png b/web/static/images/emoji/flag-no.png Binary files differnew file mode 100644 index 000000000..1199fae93 --- /dev/null +++ b/web/static/images/emoji/flag-no.png diff --git a/web/static/images/emoji/flag-np.png b/web/static/images/emoji/flag-np.png Binary files differnew file mode 100644 index 000000000..3e17c5204 --- /dev/null +++ b/web/static/images/emoji/flag-np.png diff --git a/web/static/images/emoji/flag-nr.png b/web/static/images/emoji/flag-nr.png Binary files differnew file mode 100644 index 000000000..80c3d8357 --- /dev/null +++ b/web/static/images/emoji/flag-nr.png diff --git a/web/static/images/emoji/flag-nu.png b/web/static/images/emoji/flag-nu.png Binary files differnew file mode 100644 index 000000000..628aee1e3 --- /dev/null +++ b/web/static/images/emoji/flag-nu.png diff --git a/web/static/images/emoji/flag-nz.png b/web/static/images/emoji/flag-nz.png Binary files differnew file mode 100644 index 000000000..d64f6ec22 --- /dev/null +++ b/web/static/images/emoji/flag-nz.png diff --git a/web/static/images/emoji/flag-om.png b/web/static/images/emoji/flag-om.png Binary files differnew file mode 100644 index 000000000..68dd406fb --- /dev/null +++ b/web/static/images/emoji/flag-om.png diff --git a/web/static/images/emoji/flag-pa.png b/web/static/images/emoji/flag-pa.png Binary files differnew file mode 100644 index 000000000..0fa73faf3 --- /dev/null +++ b/web/static/images/emoji/flag-pa.png diff --git a/web/static/images/emoji/flag-pe.png b/web/static/images/emoji/flag-pe.png Binary files differnew file mode 100644 index 000000000..cf7098d8d --- /dev/null +++ b/web/static/images/emoji/flag-pe.png diff --git a/web/static/images/emoji/flag-pf.png b/web/static/images/emoji/flag-pf.png Binary files differnew file mode 100644 index 000000000..5780519fd --- /dev/null +++ b/web/static/images/emoji/flag-pf.png diff --git a/web/static/images/emoji/flag-pg.png b/web/static/images/emoji/flag-pg.png Binary files differnew file mode 100644 index 000000000..0a4ce4c3c --- /dev/null +++ b/web/static/images/emoji/flag-pg.png diff --git a/web/static/images/emoji/flag-ph.png b/web/static/images/emoji/flag-ph.png Binary files differnew file mode 100644 index 000000000..00a9eaa6d --- /dev/null +++ b/web/static/images/emoji/flag-ph.png diff --git a/web/static/images/emoji/flag-pk.png b/web/static/images/emoji/flag-pk.png Binary files differnew file mode 100644 index 000000000..b1ab1a7a8 --- /dev/null +++ b/web/static/images/emoji/flag-pk.png diff --git a/web/static/images/emoji/flag-pl.png b/web/static/images/emoji/flag-pl.png Binary files differnew file mode 100644 index 000000000..e07223bf7 --- /dev/null +++ b/web/static/images/emoji/flag-pl.png diff --git a/web/static/images/emoji/flag-pr.png b/web/static/images/emoji/flag-pr.png Binary files differnew file mode 100644 index 000000000..754bb5429 --- /dev/null +++ b/web/static/images/emoji/flag-pr.png diff --git a/web/static/images/emoji/flag-ps.png b/web/static/images/emoji/flag-ps.png Binary files differnew file mode 100644 index 000000000..e2076eda0 --- /dev/null +++ b/web/static/images/emoji/flag-ps.png diff --git a/web/static/images/emoji/flag-pt.png b/web/static/images/emoji/flag-pt.png Binary files differnew file mode 100644 index 000000000..4f585e18b --- /dev/null +++ b/web/static/images/emoji/flag-pt.png diff --git a/web/static/images/emoji/flag-pw.png b/web/static/images/emoji/flag-pw.png Binary files differnew file mode 100644 index 000000000..e15437591 --- /dev/null +++ b/web/static/images/emoji/flag-pw.png diff --git a/web/static/images/emoji/flag-py.png b/web/static/images/emoji/flag-py.png Binary files differnew file mode 100644 index 000000000..335d55f93 --- /dev/null +++ b/web/static/images/emoji/flag-py.png diff --git a/web/static/images/emoji/flag-qa.png b/web/static/images/emoji/flag-qa.png Binary files differnew file mode 100644 index 000000000..6f99df4ff --- /dev/null +++ b/web/static/images/emoji/flag-qa.png diff --git a/web/static/images/emoji/flag-ro.png b/web/static/images/emoji/flag-ro.png Binary files differnew file mode 100644 index 000000000..1f7db7ab1 --- /dev/null +++ b/web/static/images/emoji/flag-ro.png diff --git a/web/static/images/emoji/flag-rs.png b/web/static/images/emoji/flag-rs.png Binary files differnew file mode 100644 index 000000000..7552aba40 --- /dev/null +++ b/web/static/images/emoji/flag-rs.png diff --git a/web/static/images/emoji/flag-ru.png b/web/static/images/emoji/flag-ru.png Binary files differnew file mode 100644 index 000000000..4a65f219f --- /dev/null +++ b/web/static/images/emoji/flag-ru.png diff --git a/web/static/images/emoji/flag-rw.png b/web/static/images/emoji/flag-rw.png Binary files differnew file mode 100644 index 000000000..ddea66d07 --- /dev/null +++ b/web/static/images/emoji/flag-rw.png diff --git a/web/static/images/emoji/flag-sa.png b/web/static/images/emoji/flag-sa.png Binary files differnew file mode 100644 index 000000000..4f82c1a3e --- /dev/null +++ b/web/static/images/emoji/flag-sa.png diff --git a/web/static/images/emoji/flag-sb.png b/web/static/images/emoji/flag-sb.png Binary files differnew file mode 100644 index 000000000..5bf32a743 --- /dev/null +++ b/web/static/images/emoji/flag-sb.png diff --git a/web/static/images/emoji/flag-sc.png b/web/static/images/emoji/flag-sc.png Binary files differnew file mode 100644 index 000000000..7ec76a1ec --- /dev/null +++ b/web/static/images/emoji/flag-sc.png diff --git a/web/static/images/emoji/flag-sd.png b/web/static/images/emoji/flag-sd.png Binary files differnew file mode 100644 index 000000000..fad14bde5 --- /dev/null +++ b/web/static/images/emoji/flag-sd.png diff --git a/web/static/images/emoji/flag-se.png b/web/static/images/emoji/flag-se.png Binary files differnew file mode 100644 index 000000000..067857a9e --- /dev/null +++ b/web/static/images/emoji/flag-se.png diff --git a/web/static/images/emoji/flag-sg.png b/web/static/images/emoji/flag-sg.png Binary files differnew file mode 100644 index 000000000..8d1127005 --- /dev/null +++ b/web/static/images/emoji/flag-sg.png diff --git a/web/static/images/emoji/flag-sh.png b/web/static/images/emoji/flag-sh.png Binary files differnew file mode 100644 index 000000000..75977bea6 --- /dev/null +++ b/web/static/images/emoji/flag-sh.png diff --git a/web/static/images/emoji/flag-si.png b/web/static/images/emoji/flag-si.png Binary files differnew file mode 100644 index 000000000..d7c3a7477 --- /dev/null +++ b/web/static/images/emoji/flag-si.png diff --git a/web/static/images/emoji/flag-sk.png b/web/static/images/emoji/flag-sk.png Binary files differnew file mode 100644 index 000000000..6f60bfab3 --- /dev/null +++ b/web/static/images/emoji/flag-sk.png diff --git a/web/static/images/emoji/flag-sl.png b/web/static/images/emoji/flag-sl.png Binary files differnew file mode 100644 index 000000000..5f88e8673 --- /dev/null +++ b/web/static/images/emoji/flag-sl.png diff --git a/web/static/images/emoji/flag-sm.png b/web/static/images/emoji/flag-sm.png Binary files differnew file mode 100644 index 000000000..431e28ea6 --- /dev/null +++ b/web/static/images/emoji/flag-sm.png diff --git a/web/static/images/emoji/flag-sn.png b/web/static/images/emoji/flag-sn.png Binary files differnew file mode 100644 index 000000000..dcc3f9770 --- /dev/null +++ b/web/static/images/emoji/flag-sn.png diff --git a/web/static/images/emoji/flag-so.png b/web/static/images/emoji/flag-so.png Binary files differnew file mode 100644 index 000000000..2e20974e9 --- /dev/null +++ b/web/static/images/emoji/flag-so.png diff --git a/web/static/images/emoji/flag-sr.png b/web/static/images/emoji/flag-sr.png Binary files differnew file mode 100644 index 000000000..bde51f536 --- /dev/null +++ b/web/static/images/emoji/flag-sr.png diff --git a/web/static/images/emoji/flag-st.png b/web/static/images/emoji/flag-st.png Binary files differnew file mode 100644 index 000000000..e387f43b9 --- /dev/null +++ b/web/static/images/emoji/flag-st.png diff --git a/web/static/images/emoji/flag-sv.png b/web/static/images/emoji/flag-sv.png Binary files differnew file mode 100644 index 000000000..f4a1153db --- /dev/null +++ b/web/static/images/emoji/flag-sv.png diff --git a/web/static/images/emoji/flag-sy.png b/web/static/images/emoji/flag-sy.png Binary files differnew file mode 100644 index 000000000..f8900079a --- /dev/null +++ b/web/static/images/emoji/flag-sy.png diff --git a/web/static/images/emoji/flag-sz.png b/web/static/images/emoji/flag-sz.png Binary files differnew file mode 100644 index 000000000..f80d7579d --- /dev/null +++ b/web/static/images/emoji/flag-sz.png diff --git a/web/static/images/emoji/flag-td.png b/web/static/images/emoji/flag-td.png Binary files differnew file mode 100644 index 000000000..de564e86e --- /dev/null +++ b/web/static/images/emoji/flag-td.png diff --git a/web/static/images/emoji/flag-tg.png b/web/static/images/emoji/flag-tg.png Binary files differnew file mode 100644 index 000000000..e41a68ea8 --- /dev/null +++ b/web/static/images/emoji/flag-tg.png diff --git a/web/static/images/emoji/flag-th.png b/web/static/images/emoji/flag-th.png Binary files differnew file mode 100644 index 000000000..362fb1a29 --- /dev/null +++ b/web/static/images/emoji/flag-th.png diff --git a/web/static/images/emoji/flag-tj.png b/web/static/images/emoji/flag-tj.png Binary files differnew file mode 100644 index 000000000..5f2072253 --- /dev/null +++ b/web/static/images/emoji/flag-tj.png diff --git a/web/static/images/emoji/flag-tl.png b/web/static/images/emoji/flag-tl.png Binary files differnew file mode 100644 index 000000000..da94c4289 --- /dev/null +++ b/web/static/images/emoji/flag-tl.png diff --git a/web/static/images/emoji/flag-tm.png b/web/static/images/emoji/flag-tm.png Binary files differnew file mode 100644 index 000000000..f0ab3b7d5 --- /dev/null +++ b/web/static/images/emoji/flag-tm.png diff --git a/web/static/images/emoji/flag-tn.png b/web/static/images/emoji/flag-tn.png Binary files differnew file mode 100644 index 000000000..e1f27ed7d --- /dev/null +++ b/web/static/images/emoji/flag-tn.png diff --git a/web/static/images/emoji/flag-to.png b/web/static/images/emoji/flag-to.png Binary files differnew file mode 100644 index 000000000..06c2a6f41 --- /dev/null +++ b/web/static/images/emoji/flag-to.png diff --git a/web/static/images/emoji/flag-tr.png b/web/static/images/emoji/flag-tr.png Binary files differnew file mode 100644 index 000000000..720d4de2f --- /dev/null +++ b/web/static/images/emoji/flag-tr.png diff --git a/web/static/images/emoji/flag-tt.png b/web/static/images/emoji/flag-tt.png Binary files differnew file mode 100644 index 000000000..2d89e31b0 --- /dev/null +++ b/web/static/images/emoji/flag-tt.png diff --git a/web/static/images/emoji/flag-tv.png b/web/static/images/emoji/flag-tv.png Binary files differnew file mode 100644 index 000000000..765087702 --- /dev/null +++ b/web/static/images/emoji/flag-tv.png diff --git a/web/static/images/emoji/flag-tw.png b/web/static/images/emoji/flag-tw.png Binary files differnew file mode 100644 index 000000000..6499e47ee --- /dev/null +++ b/web/static/images/emoji/flag-tw.png diff --git a/web/static/images/emoji/flag-tz.png b/web/static/images/emoji/flag-tz.png Binary files differnew file mode 100644 index 000000000..9e04fcf9d --- /dev/null +++ b/web/static/images/emoji/flag-tz.png diff --git a/web/static/images/emoji/flag-ua.png b/web/static/images/emoji/flag-ua.png Binary files differnew file mode 100644 index 000000000..aa9745259 --- /dev/null +++ b/web/static/images/emoji/flag-ua.png diff --git a/web/static/images/emoji/flag-ug.png b/web/static/images/emoji/flag-ug.png Binary files differnew file mode 100644 index 000000000..f78274fcb --- /dev/null +++ b/web/static/images/emoji/flag-ug.png diff --git a/web/static/images/emoji/flag-us.png b/web/static/images/emoji/flag-us.png Binary files differnew file mode 100644 index 000000000..6c98de9be --- /dev/null +++ b/web/static/images/emoji/flag-us.png diff --git a/web/static/images/emoji/flag-uy.png b/web/static/images/emoji/flag-uy.png Binary files differnew file mode 100644 index 000000000..f8caee786 --- /dev/null +++ b/web/static/images/emoji/flag-uy.png diff --git a/web/static/images/emoji/flag-uz.png b/web/static/images/emoji/flag-uz.png Binary files differnew file mode 100644 index 000000000..34f0c8627 --- /dev/null +++ b/web/static/images/emoji/flag-uz.png diff --git a/web/static/images/emoji/flag-va.png b/web/static/images/emoji/flag-va.png Binary files differnew file mode 100644 index 000000000..175fcaa0e --- /dev/null +++ b/web/static/images/emoji/flag-va.png diff --git a/web/static/images/emoji/flag-vc.png b/web/static/images/emoji/flag-vc.png Binary files differnew file mode 100644 index 000000000..4e4efb366 --- /dev/null +++ b/web/static/images/emoji/flag-vc.png diff --git a/web/static/images/emoji/flag-ve.png b/web/static/images/emoji/flag-ve.png Binary files differnew file mode 100644 index 000000000..6ab199a56 --- /dev/null +++ b/web/static/images/emoji/flag-ve.png diff --git a/web/static/images/emoji/flag-vi.png b/web/static/images/emoji/flag-vi.png Binary files differnew file mode 100644 index 000000000..da1d092bb --- /dev/null +++ b/web/static/images/emoji/flag-vi.png diff --git a/web/static/images/emoji/flag-vn.png b/web/static/images/emoji/flag-vn.png Binary files differnew file mode 100644 index 000000000..ec1ca0b8f --- /dev/null +++ b/web/static/images/emoji/flag-vn.png diff --git a/web/static/images/emoji/flag-vu.png b/web/static/images/emoji/flag-vu.png Binary files differnew file mode 100644 index 000000000..e9345643b --- /dev/null +++ b/web/static/images/emoji/flag-vu.png diff --git a/web/static/images/emoji/flag-wf.png b/web/static/images/emoji/flag-wf.png Binary files differnew file mode 100644 index 000000000..367175512 --- /dev/null +++ b/web/static/images/emoji/flag-wf.png diff --git a/web/static/images/emoji/flag-ws.png b/web/static/images/emoji/flag-ws.png Binary files differnew file mode 100644 index 000000000..c4d6349f7 --- /dev/null +++ b/web/static/images/emoji/flag-ws.png diff --git a/web/static/images/emoji/flag-xk.png b/web/static/images/emoji/flag-xk.png Binary files differnew file mode 100644 index 000000000..f9953b7e2 --- /dev/null +++ b/web/static/images/emoji/flag-xk.png diff --git a/web/static/images/emoji/flag-ye.png b/web/static/images/emoji/flag-ye.png Binary files differnew file mode 100644 index 000000000..e62c22683 --- /dev/null +++ b/web/static/images/emoji/flag-ye.png diff --git a/web/static/images/emoji/flag-za.png b/web/static/images/emoji/flag-za.png Binary files differnew file mode 100644 index 000000000..b5f8197ca --- /dev/null +++ b/web/static/images/emoji/flag-za.png diff --git a/web/static/images/emoji/flag-zm.png b/web/static/images/emoji/flag-zm.png Binary files differnew file mode 100644 index 000000000..aac8aaa96 --- /dev/null +++ b/web/static/images/emoji/flag-zm.png diff --git a/web/static/images/emoji/flag-zw.png b/web/static/images/emoji/flag-zw.png Binary files differnew file mode 100644 index 000000000..bf3d7162d --- /dev/null +++ b/web/static/images/emoji/flag-zw.png diff --git a/web/static/images/emoji/flags.png b/web/static/images/emoji/flags.png Binary files differindex 540164e84..a6bbd0ea3 100755..100644 --- a/web/static/images/emoji/flags.png +++ b/web/static/images/emoji/flags.png diff --git a/web/static/images/emoji/flashlight.png b/web/static/images/emoji/flashlight.png Binary files differindex 215940aa8..3e64a0d0b 100755..100644 --- a/web/static/images/emoji/flashlight.png +++ b/web/static/images/emoji/flashlight.png diff --git a/web/static/images/emoji/flipper.png b/web/static/images/emoji/flipper.png Binary files differnew file mode 100644 index 000000000..4dde4cc13 --- /dev/null +++ b/web/static/images/emoji/flipper.png diff --git a/web/static/images/emoji/floppy_disk.png b/web/static/images/emoji/floppy_disk.png Binary files differindex 4ad56315a..f4e52bf1b 100755..100644 --- a/web/static/images/emoji/floppy_disk.png +++ b/web/static/images/emoji/floppy_disk.png diff --git a/web/static/images/emoji/flower_playing_cards.png b/web/static/images/emoji/flower_playing_cards.png Binary files differindex cc46a6a1f..b5dff4687 100755..100644 --- a/web/static/images/emoji/flower_playing_cards.png +++ b/web/static/images/emoji/flower_playing_cards.png diff --git a/web/static/images/emoji/flushed.png b/web/static/images/emoji/flushed.png Binary files differindex 74b78c9c0..44bd60154 100755..100644 --- a/web/static/images/emoji/flushed.png +++ b/web/static/images/emoji/flushed.png diff --git a/web/static/images/emoji/fog.png b/web/static/images/emoji/fog.png Binary files differnew file mode 100644 index 000000000..babf8a114 --- /dev/null +++ b/web/static/images/emoji/fog.png diff --git a/web/static/images/emoji/foggy.png b/web/static/images/emoji/foggy.png Binary files differindex 3c7b8b04b..740943ab0 100755..100644 --- a/web/static/images/emoji/foggy.png +++ b/web/static/images/emoji/foggy.png diff --git a/web/static/images/emoji/football.png b/web/static/images/emoji/football.png Binary files differindex 0e4e168fa..24b5673b0 100755..100644 --- a/web/static/images/emoji/football.png +++ b/web/static/images/emoji/football.png diff --git a/web/static/images/emoji/footprints.png b/web/static/images/emoji/footprints.png Binary files differnew file mode 100644 index 000000000..95c26fc9d --- /dev/null +++ b/web/static/images/emoji/footprints.png diff --git a/web/static/images/emoji/fork_and_knife.png b/web/static/images/emoji/fork_and_knife.png Binary files differindex 8ba4bc653..ea13776ee 100755..100644 --- a/web/static/images/emoji/fork_and_knife.png +++ b/web/static/images/emoji/fork_and_knife.png diff --git a/web/static/images/emoji/fountain.png b/web/static/images/emoji/fountain.png Binary files differindex da126e648..465d2a127 100755..100644 --- a/web/static/images/emoji/fountain.png +++ b/web/static/images/emoji/fountain.png diff --git a/web/static/images/emoji/four.png b/web/static/images/emoji/four.png Binary files differindex 14782ba23..a8b4dc052 100755..100644 --- a/web/static/images/emoji/four.png +++ b/web/static/images/emoji/four.png diff --git a/web/static/images/emoji/four_leaf_clover.png b/web/static/images/emoji/four_leaf_clover.png Binary files differindex f2014bea4..fb11bb638 100755..100644 --- a/web/static/images/emoji/four_leaf_clover.png +++ b/web/static/images/emoji/four_leaf_clover.png diff --git a/web/static/images/emoji/fr.png b/web/static/images/emoji/fr.png Binary files differindex 6311c9115..14271f059 100755..100644 --- a/web/static/images/emoji/fr.png +++ b/web/static/images/emoji/fr.png diff --git a/web/static/images/emoji/frame_with_picture.png b/web/static/images/emoji/frame_with_picture.png Binary files differnew file mode 100644 index 000000000..d2950ba9b --- /dev/null +++ b/web/static/images/emoji/frame_with_picture.png diff --git a/web/static/images/emoji/free.png b/web/static/images/emoji/free.png Binary files differindex c886cf249..0da6a1112 100755..100644 --- a/web/static/images/emoji/free.png +++ b/web/static/images/emoji/free.png diff --git a/web/static/images/emoji/fried_shrimp.png b/web/static/images/emoji/fried_shrimp.png Binary files differindex c8c284bf1..30c165438 100755..100644 --- a/web/static/images/emoji/fried_shrimp.png +++ b/web/static/images/emoji/fried_shrimp.png diff --git a/web/static/images/emoji/fries.png b/web/static/images/emoji/fries.png Binary files differindex cfef66966..bed7a0153 100755..100644 --- a/web/static/images/emoji/fries.png +++ b/web/static/images/emoji/fries.png diff --git a/web/static/images/emoji/frog.png b/web/static/images/emoji/frog.png Binary files differindex cfe11b18f..726d0280b 100755..100644 --- a/web/static/images/emoji/frog.png +++ b/web/static/images/emoji/frog.png diff --git a/web/static/images/emoji/frowning.png b/web/static/images/emoji/frowning.png Binary files differindex 487b77016..0593fe678 100755..100644 --- a/web/static/images/emoji/frowning.png +++ b/web/static/images/emoji/frowning.png diff --git a/web/static/images/emoji/fu.png b/web/static/images/emoji/fu.png Binary files differindex 61a3fee8d..61a3fee8d 100755..100644 --- a/web/static/images/emoji/fu.png +++ b/web/static/images/emoji/fu.png diff --git a/web/static/images/emoji/fuelpump.png b/web/static/images/emoji/fuelpump.png Binary files differindex 54c29aeb1..db5b15c89 100755..100644 --- a/web/static/images/emoji/fuelpump.png +++ b/web/static/images/emoji/fuelpump.png diff --git a/web/static/images/emoji/full_moon.png b/web/static/images/emoji/full_moon.png Binary files differindex 8ff657a25..b936c916d 100755..100644 --- a/web/static/images/emoji/full_moon.png +++ b/web/static/images/emoji/full_moon.png diff --git a/web/static/images/emoji/full_moon_with_face.png b/web/static/images/emoji/full_moon_with_face.png Binary files differindex d42b3f0fb..adb3479d9 100755..100644 --- a/web/static/images/emoji/full_moon_with_face.png +++ b/web/static/images/emoji/full_moon_with_face.png diff --git a/web/static/images/emoji/game_die.png b/web/static/images/emoji/game_die.png Binary files differindex cff2bd8b7..7723d290b 100755..100644 --- a/web/static/images/emoji/game_die.png +++ b/web/static/images/emoji/game_die.png diff --git a/web/static/images/emoji/gb.png b/web/static/images/emoji/gb.png Binary files differindex 2a62c7a08..61c03f759 100755..100644 --- a/web/static/images/emoji/gb.png +++ b/web/static/images/emoji/gb.png diff --git a/web/static/images/emoji/gem.png b/web/static/images/emoji/gem.png Binary files differindex 8a5d8dad5..a24a082a7 100755..100644 --- a/web/static/images/emoji/gem.png +++ b/web/static/images/emoji/gem.png diff --git a/web/static/images/emoji/gemini.png b/web/static/images/emoji/gemini.png Binary files differindex d926f6e88..3d34ba7ca 100755..100644 --- a/web/static/images/emoji/gemini.png +++ b/web/static/images/emoji/gemini.png diff --git a/web/static/images/emoji/ghost.png b/web/static/images/emoji/ghost.png Binary files differindex 671dd0c9e..3138f36fd 100755..100644 --- a/web/static/images/emoji/ghost.png +++ b/web/static/images/emoji/ghost.png diff --git a/web/static/images/emoji/gift.png b/web/static/images/emoji/gift.png Binary files differindex 552cfdc2b..bde801b55 100755..100644 --- a/web/static/images/emoji/gift.png +++ b/web/static/images/emoji/gift.png diff --git a/web/static/images/emoji/gift_heart.png b/web/static/images/emoji/gift_heart.png Binary files differindex f31c26a3f..eb0292da0 100755..100644 --- a/web/static/images/emoji/gift_heart.png +++ b/web/static/images/emoji/gift_heart.png diff --git a/web/static/images/emoji/girl.png b/web/static/images/emoji/girl.png Binary files differindex ea4126941..9f91cef4c 100755..100644 --- a/web/static/images/emoji/girl.png +++ b/web/static/images/emoji/girl.png diff --git a/web/static/images/emoji/globe_with_meridians.png b/web/static/images/emoji/globe_with_meridians.png Binary files differindex b19864667..a7af2cb1c 100755..100644 --- a/web/static/images/emoji/globe_with_meridians.png +++ b/web/static/images/emoji/globe_with_meridians.png diff --git a/web/static/images/emoji/goat.png b/web/static/images/emoji/goat.png Binary files differindex 4be9cf304..41210e5fa 100755..100644 --- a/web/static/images/emoji/goat.png +++ b/web/static/images/emoji/goat.png diff --git a/web/static/images/emoji/goberserk.png b/web/static/images/emoji/goberserk.png Binary files differindex 59a742aaa..59a742aaa 100755..100644 --- a/web/static/images/emoji/goberserk.png +++ b/web/static/images/emoji/goberserk.png diff --git a/web/static/images/emoji/godmode.png b/web/static/images/emoji/godmode.png Binary files differindex 7e75ab208..7e75ab208 100755..100644 --- a/web/static/images/emoji/godmode.png +++ b/web/static/images/emoji/godmode.png diff --git a/web/static/images/emoji/golf.png b/web/static/images/emoji/golf.png Binary files differindex cba2116a7..c03f80917 100755..100644 --- a/web/static/images/emoji/golf.png +++ b/web/static/images/emoji/golf.png diff --git a/web/static/images/emoji/golfer.png b/web/static/images/emoji/golfer.png Binary files differnew file mode 100644 index 000000000..9aa2f036f --- /dev/null +++ b/web/static/images/emoji/golfer.png diff --git a/web/static/images/emoji/grapes.png b/web/static/images/emoji/grapes.png Binary files differindex 0f9f007a1..20b097131 100755..100644 --- a/web/static/images/emoji/grapes.png +++ b/web/static/images/emoji/grapes.png diff --git a/web/static/images/emoji/green_apple.png b/web/static/images/emoji/green_apple.png Binary files differindex 337205cd1..e37514773 100755..100644 --- a/web/static/images/emoji/green_apple.png +++ b/web/static/images/emoji/green_apple.png diff --git a/web/static/images/emoji/green_book.png b/web/static/images/emoji/green_book.png Binary files differindex e86651e5c..8fa81b9ac 100755..100644 --- a/web/static/images/emoji/green_book.png +++ b/web/static/images/emoji/green_book.png diff --git a/web/static/images/emoji/green_heart.png b/web/static/images/emoji/green_heart.png Binary files differindex 7289cb814..87b1d21c3 100755..100644 --- a/web/static/images/emoji/green_heart.png +++ b/web/static/images/emoji/green_heart.png diff --git a/web/static/images/emoji/grey_exclamation.png b/web/static/images/emoji/grey_exclamation.png Binary files differindex cf027dda5..759d6e7f7 100755..100644 --- a/web/static/images/emoji/grey_exclamation.png +++ b/web/static/images/emoji/grey_exclamation.png diff --git a/web/static/images/emoji/grey_question.png b/web/static/images/emoji/grey_question.png Binary files differindex fb97ba752..7808b13e3 100755..100644 --- a/web/static/images/emoji/grey_question.png +++ b/web/static/images/emoji/grey_question.png diff --git a/web/static/images/emoji/grimacing.png b/web/static/images/emoji/grimacing.png Binary files differindex 1219ba7d3..ea4458d8f 100755..100644 --- a/web/static/images/emoji/grimacing.png +++ b/web/static/images/emoji/grimacing.png diff --git a/web/static/images/emoji/grin.png b/web/static/images/emoji/grin.png Binary files differindex 591cfcef8..bf4d098b9 100755..100644 --- a/web/static/images/emoji/grin.png +++ b/web/static/images/emoji/grin.png diff --git a/web/static/images/emoji/grinning.png b/web/static/images/emoji/grinning.png Binary files differindex 7e812b7ed..1a5edc7be 100755..100644 --- a/web/static/images/emoji/grinning.png +++ b/web/static/images/emoji/grinning.png diff --git a/web/static/images/emoji/guardsman.png b/web/static/images/emoji/guardsman.png Binary files differindex b67b335d6..f7f0464cd 100755..100644 --- a/web/static/images/emoji/guardsman.png +++ b/web/static/images/emoji/guardsman.png diff --git a/web/static/images/emoji/guitar.png b/web/static/images/emoji/guitar.png Binary files differindex 2b7fa43c9..ab62a7fbb 100755..100644 --- a/web/static/images/emoji/guitar.png +++ b/web/static/images/emoji/guitar.png diff --git a/web/static/images/emoji/gun.png b/web/static/images/emoji/gun.png Binary files differindex c49dc52c6..f0e6b8fab 100755..100644 --- a/web/static/images/emoji/gun.png +++ b/web/static/images/emoji/gun.png diff --git a/web/static/images/emoji/haircut.png b/web/static/images/emoji/haircut.png Binary files differindex 902d273f6..40fbd31c4 100755..100644 --- a/web/static/images/emoji/haircut.png +++ b/web/static/images/emoji/haircut.png diff --git a/web/static/images/emoji/hamburger.png b/web/static/images/emoji/hamburger.png Binary files differindex 9f1a3fdff..b18121930 100755..100644 --- a/web/static/images/emoji/hamburger.png +++ b/web/static/images/emoji/hamburger.png diff --git a/web/static/images/emoji/hammer.png b/web/static/images/emoji/hammer.png Binary files differindex 482b1c747..6d91d1320 100755..100644 --- a/web/static/images/emoji/hammer.png +++ b/web/static/images/emoji/hammer.png diff --git a/web/static/images/emoji/hammer_and_wrench.png b/web/static/images/emoji/hammer_and_wrench.png Binary files differnew file mode 100644 index 000000000..eeea685b4 --- /dev/null +++ b/web/static/images/emoji/hammer_and_wrench.png diff --git a/web/static/images/emoji/hamster.png b/web/static/images/emoji/hamster.png Binary files differindex addfd2e6b..b19be3738 100755..100644 --- a/web/static/images/emoji/hamster.png +++ b/web/static/images/emoji/hamster.png diff --git a/web/static/images/emoji/hand.png b/web/static/images/emoji/hand.png Binary files differindex 5e45c25a5..89de966a3 100755..100644 --- a/web/static/images/emoji/hand.png +++ b/web/static/images/emoji/hand.png diff --git a/web/static/images/emoji/handbag.png b/web/static/images/emoji/handbag.png Binary files differindex d7adf04dd..556688787 100755..100644 --- a/web/static/images/emoji/handbag.png +++ b/web/static/images/emoji/handbag.png diff --git a/web/static/images/emoji/hankey.png b/web/static/images/emoji/hankey.png Binary files differindex 73a4dc840..0c237a788 100755..100644 --- a/web/static/images/emoji/hankey.png +++ b/web/static/images/emoji/hankey.png diff --git a/web/static/images/emoji/hash.png b/web/static/images/emoji/hash.png Binary files differindex 6765d7d3c..9e4cda640 100755..100644 --- a/web/static/images/emoji/hash.png +++ b/web/static/images/emoji/hash.png diff --git a/web/static/images/emoji/hatched_chick.png b/web/static/images/emoji/hatched_chick.png Binary files differindex 39c25bc7c..de82199dc 100755..100644 --- a/web/static/images/emoji/hatched_chick.png +++ b/web/static/images/emoji/hatched_chick.png diff --git a/web/static/images/emoji/hatching_chick.png b/web/static/images/emoji/hatching_chick.png Binary files differindex 005a55519..1e688c228 100755..100644 --- a/web/static/images/emoji/hatching_chick.png +++ b/web/static/images/emoji/hatching_chick.png diff --git a/web/static/images/emoji/headphones.png b/web/static/images/emoji/headphones.png Binary files differindex ad83000e6..3335d4060 100755..100644 --- a/web/static/images/emoji/headphones.png +++ b/web/static/images/emoji/headphones.png diff --git a/web/static/images/emoji/hear_no_evil.png b/web/static/images/emoji/hear_no_evil.png Binary files differindex f97a1f9a0..e909ebf24 100755..100644 --- a/web/static/images/emoji/hear_no_evil.png +++ b/web/static/images/emoji/hear_no_evil.png diff --git a/web/static/images/emoji/heart.png b/web/static/images/emoji/heart.png Binary files differindex 7d7790ce4..af35e2223 100755..100644 --- a/web/static/images/emoji/heart.png +++ b/web/static/images/emoji/heart.png diff --git a/web/static/images/emoji/heart_decoration.png b/web/static/images/emoji/heart_decoration.png Binary files differindex b8be44db3..da8a1339b 100755..100644 --- a/web/static/images/emoji/heart_decoration.png +++ b/web/static/images/emoji/heart_decoration.png diff --git a/web/static/images/emoji/heart_eyes.png b/web/static/images/emoji/heart_eyes.png Binary files differindex 0e5794270..c48431cb8 100755..100644 --- a/web/static/images/emoji/heart_eyes.png +++ b/web/static/images/emoji/heart_eyes.png diff --git a/web/static/images/emoji/heart_eyes_cat.png b/web/static/images/emoji/heart_eyes_cat.png Binary files differindex eeba240e5..7ef231efd 100755..100644 --- a/web/static/images/emoji/heart_eyes_cat.png +++ b/web/static/images/emoji/heart_eyes_cat.png diff --git a/web/static/images/emoji/heartbeat.png b/web/static/images/emoji/heartbeat.png Binary files differindex b6628f6fa..43a365e95 100755..100644 --- a/web/static/images/emoji/heartbeat.png +++ b/web/static/images/emoji/heartbeat.png diff --git a/web/static/images/emoji/heartpulse.png b/web/static/images/emoji/heartpulse.png Binary files differindex a7491cbea..b3d5da2e3 100755..100644 --- a/web/static/images/emoji/heartpulse.png +++ b/web/static/images/emoji/heartpulse.png diff --git a/web/static/images/emoji/hearts.png b/web/static/images/emoji/hearts.png Binary files differindex e89471538..994a062cc 100755..100644 --- a/web/static/images/emoji/hearts.png +++ b/web/static/images/emoji/hearts.png diff --git a/web/static/images/emoji/heavy_check_mark.png b/web/static/images/emoji/heavy_check_mark.png Binary files differindex d0f010b4a..239ea09ee 100755..100644 --- a/web/static/images/emoji/heavy_check_mark.png +++ b/web/static/images/emoji/heavy_check_mark.png diff --git a/web/static/images/emoji/heavy_division_sign.png b/web/static/images/emoji/heavy_division_sign.png Binary files differindex e193fd252..b883d27f5 100755..100644 --- a/web/static/images/emoji/heavy_division_sign.png +++ b/web/static/images/emoji/heavy_division_sign.png diff --git a/web/static/images/emoji/heavy_dollar_sign.png b/web/static/images/emoji/heavy_dollar_sign.png Binary files differindex 5eddfc52b..10a5a4d8a 100755..100644 --- a/web/static/images/emoji/heavy_dollar_sign.png +++ b/web/static/images/emoji/heavy_dollar_sign.png diff --git a/web/static/images/emoji/heavy_exclamation_mark.png b/web/static/images/emoji/heavy_exclamation_mark.png Binary files differindex 4c560f5e3..b8fca78bc 100755..100644 --- a/web/static/images/emoji/heavy_exclamation_mark.png +++ b/web/static/images/emoji/heavy_exclamation_mark.png diff --git a/web/static/images/emoji/heavy_minus_sign.png b/web/static/images/emoji/heavy_minus_sign.png Binary files differindex 4a33f905a..60195e0d4 100755..100644 --- a/web/static/images/emoji/heavy_minus_sign.png +++ b/web/static/images/emoji/heavy_minus_sign.png diff --git a/web/static/images/emoji/heavy_multiplication_x.png b/web/static/images/emoji/heavy_multiplication_x.png Binary files differindex 13d666078..a75fd57e0 100755..100644 --- a/web/static/images/emoji/heavy_multiplication_x.png +++ b/web/static/images/emoji/heavy_multiplication_x.png diff --git a/web/static/images/emoji/heavy_plus_sign.png b/web/static/images/emoji/heavy_plus_sign.png Binary files differindex ade3c3a85..198cde00e 100755..100644 --- a/web/static/images/emoji/heavy_plus_sign.png +++ b/web/static/images/emoji/heavy_plus_sign.png diff --git a/web/static/images/emoji/helicopter.png b/web/static/images/emoji/helicopter.png Binary files differindex 8e82a0d58..838acddc7 100755..100644 --- a/web/static/images/emoji/helicopter.png +++ b/web/static/images/emoji/helicopter.png diff --git a/web/static/images/emoji/herb.png b/web/static/images/emoji/herb.png Binary files differindex de1ff1b73..cb5f8f735 100755..100644 --- a/web/static/images/emoji/herb.png +++ b/web/static/images/emoji/herb.png diff --git a/web/static/images/emoji/hibiscus.png b/web/static/images/emoji/hibiscus.png Binary files differindex 9365ae216..e0fd12c95 100755..100644 --- a/web/static/images/emoji/hibiscus.png +++ b/web/static/images/emoji/hibiscus.png diff --git a/web/static/images/emoji/high_brightness.png b/web/static/images/emoji/high_brightness.png Binary files differindex ba9de7d40..e5f548443 100755..100644 --- a/web/static/images/emoji/high_brightness.png +++ b/web/static/images/emoji/high_brightness.png diff --git a/web/static/images/emoji/high_heel.png b/web/static/images/emoji/high_heel.png Binary files differindex 525b6a0dd..36bdb7484 100755..100644 --- a/web/static/images/emoji/high_heel.png +++ b/web/static/images/emoji/high_heel.png diff --git a/web/static/images/emoji/hocho.png b/web/static/images/emoji/hocho.png Binary files differindex 3f05193c7..43249ba94 100755..100644 --- a/web/static/images/emoji/hocho.png +++ b/web/static/images/emoji/hocho.png diff --git a/web/static/images/emoji/hole.png b/web/static/images/emoji/hole.png Binary files differnew file mode 100644 index 000000000..ca20daa89 --- /dev/null +++ b/web/static/images/emoji/hole.png diff --git a/web/static/images/emoji/honey_pot.png b/web/static/images/emoji/honey_pot.png Binary files differindex 73278898a..a563f59c7 100755..100644 --- a/web/static/images/emoji/honey_pot.png +++ b/web/static/images/emoji/honey_pot.png diff --git a/web/static/images/emoji/honeybee.png b/web/static/images/emoji/honeybee.png Binary files differindex f53733953..e67b7703b 100755..100644 --- a/web/static/images/emoji/honeybee.png +++ b/web/static/images/emoji/honeybee.png diff --git a/web/static/images/emoji/horse.png b/web/static/images/emoji/horse.png Binary files differindex 78d580ad3..90b955506 100755..100644 --- a/web/static/images/emoji/horse.png +++ b/web/static/images/emoji/horse.png diff --git a/web/static/images/emoji/horse_racing.png b/web/static/images/emoji/horse_racing.png Binary files differindex e3bbaec1d..a7abb355f 100755..100644 --- a/web/static/images/emoji/horse_racing.png +++ b/web/static/images/emoji/horse_racing.png diff --git a/web/static/images/emoji/hospital.png b/web/static/images/emoji/hospital.png Binary files differindex c05c49377..9a53371c1 100755..100644 --- a/web/static/images/emoji/hospital.png +++ b/web/static/images/emoji/hospital.png diff --git a/web/static/images/emoji/hot_pepper.png b/web/static/images/emoji/hot_pepper.png Binary files differnew file mode 100644 index 000000000..a6db2ca09 --- /dev/null +++ b/web/static/images/emoji/hot_pepper.png diff --git a/web/static/images/emoji/hotel.png b/web/static/images/emoji/hotel.png Binary files differindex d29f276a1..7a22e341f 100755..100644 --- a/web/static/images/emoji/hotel.png +++ b/web/static/images/emoji/hotel.png diff --git a/web/static/images/emoji/hotsprings.png b/web/static/images/emoji/hotsprings.png Binary files differindex a0bc9d75f..dbe158292 100755..100644 --- a/web/static/images/emoji/hotsprings.png +++ b/web/static/images/emoji/hotsprings.png diff --git a/web/static/images/emoji/hourglass.png b/web/static/images/emoji/hourglass.png Binary files differindex 405aab41b..06799f8c5 100755..100644 --- a/web/static/images/emoji/hourglass.png +++ b/web/static/images/emoji/hourglass.png diff --git a/web/static/images/emoji/hourglass_flowing_sand.png b/web/static/images/emoji/hourglass_flowing_sand.png Binary files differindex b68eb6957..bb0bbd8f7 100755..100644 --- a/web/static/images/emoji/hourglass_flowing_sand.png +++ b/web/static/images/emoji/hourglass_flowing_sand.png diff --git a/web/static/images/emoji/house.png b/web/static/images/emoji/house.png Binary files differindex 95b9ee094..90551d823 100755..100644 --- a/web/static/images/emoji/house.png +++ b/web/static/images/emoji/house.png diff --git a/web/static/images/emoji/house_buildings.png b/web/static/images/emoji/house_buildings.png Binary files differnew file mode 100644 index 000000000..b3dde7347 --- /dev/null +++ b/web/static/images/emoji/house_buildings.png diff --git a/web/static/images/emoji/house_with_garden.png b/web/static/images/emoji/house_with_garden.png Binary files differindex 3338fb717..b00186c46 100755..100644 --- a/web/static/images/emoji/house_with_garden.png +++ b/web/static/images/emoji/house_with_garden.png diff --git a/web/static/images/emoji/hurtrealbad.png b/web/static/images/emoji/hurtrealbad.png Binary files differindex 146ef1a6a..146ef1a6a 100755..100644 --- a/web/static/images/emoji/hurtrealbad.png +++ b/web/static/images/emoji/hurtrealbad.png diff --git a/web/static/images/emoji/hushed.png b/web/static/images/emoji/hushed.png Binary files differindex bbd2cd4bc..443ed5811 100755..100644 --- a/web/static/images/emoji/hushed.png +++ b/web/static/images/emoji/hushed.png diff --git a/web/static/images/emoji/ice_cream.png b/web/static/images/emoji/ice_cream.png Binary files differindex 190be0165..5dc67b4cc 100755..100644 --- a/web/static/images/emoji/ice_cream.png +++ b/web/static/images/emoji/ice_cream.png diff --git a/web/static/images/emoji/icecream.png b/web/static/images/emoji/icecream.png Binary files differindex 871ce0976..39c2e6a8f 100755..100644 --- a/web/static/images/emoji/icecream.png +++ b/web/static/images/emoji/icecream.png diff --git a/web/static/images/emoji/id.png b/web/static/images/emoji/id.png Binary files differindex 47437a76d..3ae8bc2b9 100755..100644 --- a/web/static/images/emoji/id.png +++ b/web/static/images/emoji/id.png diff --git a/web/static/images/emoji/ideograph_advantage.png b/web/static/images/emoji/ideograph_advantage.png Binary files differindex 3c1334d16..2be0c3a78 100755..100644 --- a/web/static/images/emoji/ideograph_advantage.png +++ b/web/static/images/emoji/ideograph_advantage.png diff --git a/web/static/images/emoji/imp.png b/web/static/images/emoji/imp.png Binary files differindex fa7d9dc10..bb31a6212 100755..100644 --- a/web/static/images/emoji/imp.png +++ b/web/static/images/emoji/imp.png diff --git a/web/static/images/emoji/inbox_tray.png b/web/static/images/emoji/inbox_tray.png Binary files differindex e2df0f897..266947ee9 100755..100644 --- a/web/static/images/emoji/inbox_tray.png +++ b/web/static/images/emoji/inbox_tray.png diff --git a/web/static/images/emoji/incoming_envelope.png b/web/static/images/emoji/incoming_envelope.png Binary files differindex afc827125..b16ed051f 100755..100644 --- a/web/static/images/emoji/incoming_envelope.png +++ b/web/static/images/emoji/incoming_envelope.png diff --git a/web/static/images/emoji/information_desk_person.png b/web/static/images/emoji/information_desk_person.png Binary files differindex 52c0a50a3..ffe0ab71f 100755..100644 --- a/web/static/images/emoji/information_desk_person.png +++ b/web/static/images/emoji/information_desk_person.png diff --git a/web/static/images/emoji/information_source.png b/web/static/images/emoji/information_source.png Binary files differindex 9cb8b09b2..68059c871 100755..100644 --- a/web/static/images/emoji/information_source.png +++ b/web/static/images/emoji/information_source.png diff --git a/web/static/images/emoji/innocent.png b/web/static/images/emoji/innocent.png Binary files differindex 503b614f8..1c449201d 100755..100644 --- a/web/static/images/emoji/innocent.png +++ b/web/static/images/emoji/innocent.png diff --git a/web/static/images/emoji/interrobang.png b/web/static/images/emoji/interrobang.png Binary files differindex 64304b9f5..a8e1ec2a9 100755..100644 --- a/web/static/images/emoji/interrobang.png +++ b/web/static/images/emoji/interrobang.png diff --git a/web/static/images/emoji/iphone.png b/web/static/images/emoji/iphone.png Binary files differindex df007103b..eea83475b 100755..100644 --- a/web/static/images/emoji/iphone.png +++ b/web/static/images/emoji/iphone.png diff --git a/web/static/images/emoji/it.png b/web/static/images/emoji/it.png Binary files differindex 70bc9f324..bce062350 100755..100644 --- a/web/static/images/emoji/it.png +++ b/web/static/images/emoji/it.png diff --git a/web/static/images/emoji/izakaya_lantern.png b/web/static/images/emoji/izakaya_lantern.png Binary files differindex 18730ad55..02345bc3e 100755..100644 --- a/web/static/images/emoji/izakaya_lantern.png +++ b/web/static/images/emoji/izakaya_lantern.png diff --git a/web/static/images/emoji/jack_o_lantern.png b/web/static/images/emoji/jack_o_lantern.png Binary files differindex 1f7667ea4..0ea29490d 100755..100644 --- a/web/static/images/emoji/jack_o_lantern.png +++ b/web/static/images/emoji/jack_o_lantern.png diff --git a/web/static/images/emoji/japan.png b/web/static/images/emoji/japan.png Binary files differindex 459328035..79bb896f9 100755..100644 --- a/web/static/images/emoji/japan.png +++ b/web/static/images/emoji/japan.png diff --git a/web/static/images/emoji/japanese_castle.png b/web/static/images/emoji/japanese_castle.png Binary files differindex f225ab217..ebdeecf6a 100755..100644 --- a/web/static/images/emoji/japanese_castle.png +++ b/web/static/images/emoji/japanese_castle.png diff --git a/web/static/images/emoji/japanese_goblin.png b/web/static/images/emoji/japanese_goblin.png Binary files differindex bd21b1875..20e1b4eb5 100755..100644 --- a/web/static/images/emoji/japanese_goblin.png +++ b/web/static/images/emoji/japanese_goblin.png diff --git a/web/static/images/emoji/japanese_ogre.png b/web/static/images/emoji/japanese_ogre.png Binary files differindex e9f5471c9..fd1cab65f 100755..100644 --- a/web/static/images/emoji/japanese_ogre.png +++ b/web/static/images/emoji/japanese_ogre.png diff --git a/web/static/images/emoji/jeans.png b/web/static/images/emoji/jeans.png Binary files differindex d721cea54..f1a83c4d2 100755..100644 --- a/web/static/images/emoji/jeans.png +++ b/web/static/images/emoji/jeans.png diff --git a/web/static/images/emoji/joy.png b/web/static/images/emoji/joy.png Binary files differindex 47df693d4..bc1abb7a4 100755..100644 --- a/web/static/images/emoji/joy.png +++ b/web/static/images/emoji/joy.png diff --git a/web/static/images/emoji/joy_cat.png b/web/static/images/emoji/joy_cat.png Binary files differindex 6c60cb0ef..15a2aa0e3 100755..100644 --- a/web/static/images/emoji/joy_cat.png +++ b/web/static/images/emoji/joy_cat.png diff --git a/web/static/images/emoji/joystick.png b/web/static/images/emoji/joystick.png Binary files differnew file mode 100644 index 000000000..6808f30fb --- /dev/null +++ b/web/static/images/emoji/joystick.png diff --git a/web/static/images/emoji/jp.png b/web/static/images/emoji/jp.png Binary files differindex b786efbbd..56390ce22 100755..100644 --- a/web/static/images/emoji/jp.png +++ b/web/static/images/emoji/jp.png diff --git a/web/static/images/emoji/key.png b/web/static/images/emoji/key.png Binary files differindex 34673213f..2739df6db 100755..100644 --- a/web/static/images/emoji/key.png +++ b/web/static/images/emoji/key.png diff --git a/web/static/images/emoji/keycap_ten.png b/web/static/images/emoji/keycap_ten.png Binary files differindex 71dac1c1c..5f817b8d6 100755..100644 --- a/web/static/images/emoji/keycap_ten.png +++ b/web/static/images/emoji/keycap_ten.png diff --git a/web/static/images/emoji/kimono.png b/web/static/images/emoji/kimono.png Binary files differindex 34ffe137d..1cbdea0b1 100755..100644 --- a/web/static/images/emoji/kimono.png +++ b/web/static/images/emoji/kimono.png diff --git a/web/static/images/emoji/kiss.png b/web/static/images/emoji/kiss.png Binary files differindex 14fd9918d..bc4c8f73a 100755..100644 --- a/web/static/images/emoji/kiss.png +++ b/web/static/images/emoji/kiss.png diff --git a/web/static/images/emoji/kissing.png b/web/static/images/emoji/kissing.png Binary files differindex f3c8dcd78..b00212407 100755..100644 --- a/web/static/images/emoji/kissing.png +++ b/web/static/images/emoji/kissing.png diff --git a/web/static/images/emoji/kissing_cat.png b/web/static/images/emoji/kissing_cat.png Binary files differindex adc62fbe3..e62592137 100755..100644 --- a/web/static/images/emoji/kissing_cat.png +++ b/web/static/images/emoji/kissing_cat.png diff --git a/web/static/images/emoji/kissing_closed_eyes.png b/web/static/images/emoji/kissing_closed_eyes.png Binary files differindex 449de1970..523ef0453 100755..100644 --- a/web/static/images/emoji/kissing_closed_eyes.png +++ b/web/static/images/emoji/kissing_closed_eyes.png diff --git a/web/static/images/emoji/kissing_face.png b/web/static/images/emoji/kissing_face.png Binary files differdeleted file mode 100755 index 449de1970..000000000 --- a/web/static/images/emoji/kissing_face.png +++ /dev/null diff --git a/web/static/images/emoji/kissing_heart.png b/web/static/images/emoji/kissing_heart.png Binary files differindex af9a80b7f..834ee8ec9 100755..100644 --- a/web/static/images/emoji/kissing_heart.png +++ b/web/static/images/emoji/kissing_heart.png diff --git a/web/static/images/emoji/kissing_smiling_eyes.png b/web/static/images/emoji/kissing_smiling_eyes.png Binary files differindex 57f7b4935..7cbac1bf0 100755..100644 --- a/web/static/images/emoji/kissing_smiling_eyes.png +++ b/web/static/images/emoji/kissing_smiling_eyes.png diff --git a/web/static/images/emoji/knife.png b/web/static/images/emoji/knife.png Binary files differnew file mode 100644 index 000000000..43249ba94 --- /dev/null +++ b/web/static/images/emoji/knife.png diff --git a/web/static/images/emoji/knife_fork_plate.png b/web/static/images/emoji/knife_fork_plate.png Binary files differnew file mode 100644 index 000000000..d2ebb8435 --- /dev/null +++ b/web/static/images/emoji/knife_fork_plate.png diff --git a/web/static/images/emoji/koala.png b/web/static/images/emoji/koala.png Binary files differindex e17bd3cf5..928143905 100755..100644 --- a/web/static/images/emoji/koala.png +++ b/web/static/images/emoji/koala.png diff --git a/web/static/images/emoji/koko.png b/web/static/images/emoji/koko.png Binary files differindex 3bef28c9f..9f056070e 100755..100644 --- a/web/static/images/emoji/koko.png +++ b/web/static/images/emoji/koko.png diff --git a/web/static/images/emoji/kr.png b/web/static/images/emoji/kr.png Binary files differindex b4c0c1b67..6687991f3 100755..100644 --- a/web/static/images/emoji/kr.png +++ b/web/static/images/emoji/kr.png diff --git a/web/static/images/emoji/label.png b/web/static/images/emoji/label.png Binary files differnew file mode 100644 index 000000000..411124e2c --- /dev/null +++ b/web/static/images/emoji/label.png diff --git a/web/static/images/emoji/lantern.png b/web/static/images/emoji/lantern.png Binary files differnew file mode 100644 index 000000000..02345bc3e --- /dev/null +++ b/web/static/images/emoji/lantern.png diff --git a/web/static/images/emoji/large_blue_circle.png b/web/static/images/emoji/large_blue_circle.png Binary files differindex a5b4ad4aa..ddc4e7e59 100755..100644 --- a/web/static/images/emoji/large_blue_circle.png +++ b/web/static/images/emoji/large_blue_circle.png diff --git a/web/static/images/emoji/large_blue_diamond.png b/web/static/images/emoji/large_blue_diamond.png Binary files differindex f4598ec0f..fbe133557 100755..100644 --- a/web/static/images/emoji/large_blue_diamond.png +++ b/web/static/images/emoji/large_blue_diamond.png diff --git a/web/static/images/emoji/large_orange_diamond.png b/web/static/images/emoji/large_orange_diamond.png Binary files differindex 803725aad..f8c060fd2 100755..100644 --- a/web/static/images/emoji/large_orange_diamond.png +++ b/web/static/images/emoji/large_orange_diamond.png diff --git a/web/static/images/emoji/last_quarter_moon.png b/web/static/images/emoji/last_quarter_moon.png Binary files differindex 6ae30d6c2..85e0df65a 100755..100644 --- a/web/static/images/emoji/last_quarter_moon.png +++ b/web/static/images/emoji/last_quarter_moon.png diff --git a/web/static/images/emoji/last_quarter_moon_with_face.png b/web/static/images/emoji/last_quarter_moon_with_face.png Binary files differindex 9ece82dfe..37ecabbc7 100755..100644 --- a/web/static/images/emoji/last_quarter_moon_with_face.png +++ b/web/static/images/emoji/last_quarter_moon_with_face.png diff --git a/web/static/images/emoji/laughing.png b/web/static/images/emoji/laughing.png Binary files differindex 11c91eb22..d7e70b1a4 100755..100644 --- a/web/static/images/emoji/laughing.png +++ b/web/static/images/emoji/laughing.png diff --git a/web/static/images/emoji/leaves.png b/web/static/images/emoji/leaves.png Binary files differindex 5229e06bd..569a66fac 100755..100644 --- a/web/static/images/emoji/leaves.png +++ b/web/static/images/emoji/leaves.png diff --git a/web/static/images/emoji/ledger.png b/web/static/images/emoji/ledger.png Binary files differindex e4f72acea..b9a5484e4 100755..100644 --- a/web/static/images/emoji/ledger.png +++ b/web/static/images/emoji/ledger.png diff --git a/web/static/images/emoji/left_luggage.png b/web/static/images/emoji/left_luggage.png Binary files differindex 1c08b464d..b39b9075f 100755..100644 --- a/web/static/images/emoji/left_luggage.png +++ b/web/static/images/emoji/left_luggage.png diff --git a/web/static/images/emoji/left_right_arrow.png b/web/static/images/emoji/left_right_arrow.png Binary files differindex b9fd11c51..9e5e99c58 100755..100644 --- a/web/static/images/emoji/left_right_arrow.png +++ b/web/static/images/emoji/left_right_arrow.png diff --git a/web/static/images/emoji/left_speech_bubble.png b/web/static/images/emoji/left_speech_bubble.png Binary files differnew file mode 100644 index 000000000..81313baae --- /dev/null +++ b/web/static/images/emoji/left_speech_bubble.png diff --git a/web/static/images/emoji/leftwards_arrow_with_hook.png b/web/static/images/emoji/leftwards_arrow_with_hook.png Binary files differindex bc45dfefd..a9358a56e 100755..100644 --- a/web/static/images/emoji/leftwards_arrow_with_hook.png +++ b/web/static/images/emoji/leftwards_arrow_with_hook.png diff --git a/web/static/images/emoji/lemon.png b/web/static/images/emoji/lemon.png Binary files differindex 9814dc959..fa5e87b03 100755..100644 --- a/web/static/images/emoji/lemon.png +++ b/web/static/images/emoji/lemon.png diff --git a/web/static/images/emoji/leo.png b/web/static/images/emoji/leo.png Binary files differindex e025933b2..2290f822a 100755..100644 --- a/web/static/images/emoji/leo.png +++ b/web/static/images/emoji/leo.png diff --git a/web/static/images/emoji/leopard.png b/web/static/images/emoji/leopard.png Binary files differindex 3e738d2d3..eb16aa9c6 100755..100644 --- a/web/static/images/emoji/leopard.png +++ b/web/static/images/emoji/leopard.png diff --git a/web/static/images/emoji/level_slider.png b/web/static/images/emoji/level_slider.png Binary files differnew file mode 100644 index 000000000..389784aba --- /dev/null +++ b/web/static/images/emoji/level_slider.png diff --git a/web/static/images/emoji/libra.png b/web/static/images/emoji/libra.png Binary files differindex 6f4a927cd..3f3c33443 100755..100644 --- a/web/static/images/emoji/libra.png +++ b/web/static/images/emoji/libra.png diff --git a/web/static/images/emoji/light_rail.png b/web/static/images/emoji/light_rail.png Binary files differindex bcfe801ee..91cff3edb 100755..100644 --- a/web/static/images/emoji/light_rail.png +++ b/web/static/images/emoji/light_rail.png diff --git a/web/static/images/emoji/lightning.png b/web/static/images/emoji/lightning.png Binary files differnew file mode 100644 index 000000000..05a085e43 --- /dev/null +++ b/web/static/images/emoji/lightning.png diff --git a/web/static/images/emoji/lightning_cloud.png b/web/static/images/emoji/lightning_cloud.png Binary files differnew file mode 100644 index 000000000..05a085e43 --- /dev/null +++ b/web/static/images/emoji/lightning_cloud.png diff --git a/web/static/images/emoji/link.png b/web/static/images/emoji/link.png Binary files differindex 0239e48e4..0954f494a 100755..100644 --- a/web/static/images/emoji/link.png +++ b/web/static/images/emoji/link.png diff --git a/web/static/images/emoji/linked_paperclips.png b/web/static/images/emoji/linked_paperclips.png Binary files differnew file mode 100644 index 000000000..e449161de --- /dev/null +++ b/web/static/images/emoji/linked_paperclips.png diff --git a/web/static/images/emoji/lips.png b/web/static/images/emoji/lips.png Binary files differindex 826ed1102..9b2e494bd 100755..100644 --- a/web/static/images/emoji/lips.png +++ b/web/static/images/emoji/lips.png diff --git a/web/static/images/emoji/lipstick.png b/web/static/images/emoji/lipstick.png Binary files differindex 82f990c56..79421767b 100755..100644 --- a/web/static/images/emoji/lipstick.png +++ b/web/static/images/emoji/lipstick.png diff --git a/web/static/images/emoji/lock.png b/web/static/images/emoji/lock.png Binary files differindex 4892b0235..f1dc55a1a 100755..100644 --- a/web/static/images/emoji/lock.png +++ b/web/static/images/emoji/lock.png diff --git a/web/static/images/emoji/lock_with_ink_pen.png b/web/static/images/emoji/lock_with_ink_pen.png Binary files differindex 375e67e82..274d6f888 100755..100644 --- a/web/static/images/emoji/lock_with_ink_pen.png +++ b/web/static/images/emoji/lock_with_ink_pen.png diff --git a/web/static/images/emoji/lollipop.png b/web/static/images/emoji/lollipop.png Binary files differindex ba55e7093..2c6a0ed4c 100755..100644 --- a/web/static/images/emoji/lollipop.png +++ b/web/static/images/emoji/lollipop.png diff --git a/web/static/images/emoji/loop.png b/web/static/images/emoji/loop.png Binary files differindex ef34df3a4..a9b9248ba 100755..100644 --- a/web/static/images/emoji/loop.png +++ b/web/static/images/emoji/loop.png diff --git a/web/static/images/emoji/loud_sound.png b/web/static/images/emoji/loud_sound.png Binary files differnew file mode 100644 index 000000000..e84702e56 --- /dev/null +++ b/web/static/images/emoji/loud_sound.png diff --git a/web/static/images/emoji/loudspeaker.png b/web/static/images/emoji/loudspeaker.png Binary files differindex 752385e52..aaf588cd7 100755..100644 --- a/web/static/images/emoji/loudspeaker.png +++ b/web/static/images/emoji/loudspeaker.png diff --git a/web/static/images/emoji/love_hotel.png b/web/static/images/emoji/love_hotel.png Binary files differindex 44d7db828..e3b893388 100755..100644 --- a/web/static/images/emoji/love_hotel.png +++ b/web/static/images/emoji/love_hotel.png diff --git a/web/static/images/emoji/love_letter.png b/web/static/images/emoji/love_letter.png Binary files differindex e29981f44..853204d48 100755..100644 --- a/web/static/images/emoji/love_letter.png +++ b/web/static/images/emoji/love_letter.png diff --git a/web/static/images/emoji/low_brightness.png b/web/static/images/emoji/low_brightness.png Binary files differindex ea15bde4f..aecba4603 100755..100644 --- a/web/static/images/emoji/low_brightness.png +++ b/web/static/images/emoji/low_brightness.png diff --git a/web/static/images/emoji/lower_left_ballpoint_pen.png b/web/static/images/emoji/lower_left_ballpoint_pen.png Binary files differnew file mode 100644 index 000000000..b363fd8bd --- /dev/null +++ b/web/static/images/emoji/lower_left_ballpoint_pen.png diff --git a/web/static/images/emoji/lower_left_crayon.png b/web/static/images/emoji/lower_left_crayon.png Binary files differnew file mode 100644 index 000000000..3d8392f9b --- /dev/null +++ b/web/static/images/emoji/lower_left_crayon.png diff --git a/web/static/images/emoji/lower_left_fountain_pen.png b/web/static/images/emoji/lower_left_fountain_pen.png Binary files differnew file mode 100644 index 000000000..0b4301c18 --- /dev/null +++ b/web/static/images/emoji/lower_left_fountain_pen.png diff --git a/web/static/images/emoji/lower_left_paintbrush.png b/web/static/images/emoji/lower_left_paintbrush.png Binary files differnew file mode 100644 index 000000000..49eab81fa --- /dev/null +++ b/web/static/images/emoji/lower_left_paintbrush.png diff --git a/web/static/images/emoji/m.png b/web/static/images/emoji/m.png Binary files differindex 7e3a3bffb..7de289795 100755..100644 --- a/web/static/images/emoji/m.png +++ b/web/static/images/emoji/m.png diff --git a/web/static/images/emoji/mag.png b/web/static/images/emoji/mag.png Binary files differindex aa5b1d7c4..99982fbec 100755..100644 --- a/web/static/images/emoji/mag.png +++ b/web/static/images/emoji/mag.png diff --git a/web/static/images/emoji/mag_right.png b/web/static/images/emoji/mag_right.png Binary files differindex 6e6cf11e6..95d12da0e 100755..100644 --- a/web/static/images/emoji/mag_right.png +++ b/web/static/images/emoji/mag_right.png diff --git a/web/static/images/emoji/mahjong.png b/web/static/images/emoji/mahjong.png Binary files differindex f51ce65fd..16a59d954 100755..100644 --- a/web/static/images/emoji/mahjong.png +++ b/web/static/images/emoji/mahjong.png diff --git a/web/static/images/emoji/mailbox.png b/web/static/images/emoji/mailbox.png Binary files differindex 8351e7076..5e3aa1019 100755..100644 --- a/web/static/images/emoji/mailbox.png +++ b/web/static/images/emoji/mailbox.png diff --git a/web/static/images/emoji/mailbox_closed.png b/web/static/images/emoji/mailbox_closed.png Binary files differindex a5982b69b..7a9f1e301 100755..100644 --- a/web/static/images/emoji/mailbox_closed.png +++ b/web/static/images/emoji/mailbox_closed.png diff --git a/web/static/images/emoji/mailbox_with_mail.png b/web/static/images/emoji/mailbox_with_mail.png Binary files differindex dae345943..f8c7362a8 100755..100644 --- a/web/static/images/emoji/mailbox_with_mail.png +++ b/web/static/images/emoji/mailbox_with_mail.png diff --git a/web/static/images/emoji/mailbox_with_no_mail.png b/web/static/images/emoji/mailbox_with_no_mail.png Binary files differindex 59f15c5d7..a4b4797ee 100755..100644 --- a/web/static/images/emoji/mailbox_with_no_mail.png +++ b/web/static/images/emoji/mailbox_with_no_mail.png diff --git a/web/static/images/emoji/man-woman-boy.png b/web/static/images/emoji/man-woman-boy.png Binary files differnew file mode 100644 index 000000000..e0d81ddb7 --- /dev/null +++ b/web/static/images/emoji/man-woman-boy.png diff --git a/web/static/images/emoji/man.png b/web/static/images/emoji/man.png Binary files differindex d9bfa26a6..8efb7f43b 100755..100644 --- a/web/static/images/emoji/man.png +++ b/web/static/images/emoji/man.png diff --git a/web/static/images/emoji/man_and_woman_holding_hands.png b/web/static/images/emoji/man_and_woman_holding_hands.png Binary files differnew file mode 100644 index 000000000..616f8520b --- /dev/null +++ b/web/static/images/emoji/man_and_woman_holding_hands.png diff --git a/web/static/images/emoji/man_in_business_suit_levitating.png b/web/static/images/emoji/man_in_business_suit_levitating.png Binary files differnew file mode 100644 index 000000000..1c526acbe --- /dev/null +++ b/web/static/images/emoji/man_in_business_suit_levitating.png diff --git a/web/static/images/emoji/man_with_gua_pi_mao.png b/web/static/images/emoji/man_with_gua_pi_mao.png Binary files differindex 7aad74b55..bd01585c4 100755..100644 --- a/web/static/images/emoji/man_with_gua_pi_mao.png +++ b/web/static/images/emoji/man_with_gua_pi_mao.png diff --git a/web/static/images/emoji/man_with_turban.png b/web/static/images/emoji/man_with_turban.png Binary files differindex 036604caf..e968c78fe 100755..100644 --- a/web/static/images/emoji/man_with_turban.png +++ b/web/static/images/emoji/man_with_turban.png diff --git a/web/static/images/emoji/mans_shoe.png b/web/static/images/emoji/mans_shoe.png Binary files differindex ecba9ba7d..8d8a9feeb 100755..100644 --- a/web/static/images/emoji/mans_shoe.png +++ b/web/static/images/emoji/mans_shoe.png diff --git a/web/static/images/emoji/mantelpiece_clock.png b/web/static/images/emoji/mantelpiece_clock.png Binary files differnew file mode 100644 index 000000000..f944ec0c6 --- /dev/null +++ b/web/static/images/emoji/mantelpiece_clock.png diff --git a/web/static/images/emoji/maple_leaf.png b/web/static/images/emoji/maple_leaf.png Binary files differindex 4e9b47207..2756537f1 100755..100644 --- a/web/static/images/emoji/maple_leaf.png +++ b/web/static/images/emoji/maple_leaf.png diff --git a/web/static/images/emoji/mask.png b/web/static/images/emoji/mask.png Binary files differindex 05887e99c..7110927b8 100755..100644 --- a/web/static/images/emoji/mask.png +++ b/web/static/images/emoji/mask.png diff --git a/web/static/images/emoji/massage.png b/web/static/images/emoji/massage.png Binary files differindex dd30d1597..4890c3395 100755..100644 --- a/web/static/images/emoji/massage.png +++ b/web/static/images/emoji/massage.png diff --git a/web/static/images/emoji/meat_on_bone.png b/web/static/images/emoji/meat_on_bone.png Binary files differindex 5b79a660c..e9697fef1 100755..100644 --- a/web/static/images/emoji/meat_on_bone.png +++ b/web/static/images/emoji/meat_on_bone.png diff --git a/web/static/images/emoji/medal.png b/web/static/images/emoji/medal.png Binary files differnew file mode 100644 index 000000000..6558c71fc --- /dev/null +++ b/web/static/images/emoji/medal.png diff --git a/web/static/images/emoji/mega.png b/web/static/images/emoji/mega.png Binary files differindex 022df2f8d..51bc09152 100755..100644 --- a/web/static/images/emoji/mega.png +++ b/web/static/images/emoji/mega.png diff --git a/web/static/images/emoji/melon.png b/web/static/images/emoji/melon.png Binary files differindex 11c13cbbd..b27f00d25 100755..100644 --- a/web/static/images/emoji/melon.png +++ b/web/static/images/emoji/melon.png diff --git a/web/static/images/emoji/memo.png b/web/static/images/emoji/memo.png Binary files differindex fc97ddbc9..61e5a08e6 100755..100644 --- a/web/static/images/emoji/memo.png +++ b/web/static/images/emoji/memo.png diff --git a/web/static/images/emoji/mens.png b/web/static/images/emoji/mens.png Binary files differindex abccfc9f2..db526a641 100755..100644 --- a/web/static/images/emoji/mens.png +++ b/web/static/images/emoji/mens.png diff --git a/web/static/images/emoji/metal.png b/web/static/images/emoji/metal.png Binary files differindex 94f1fda22..94f1fda22 100755..100644 --- a/web/static/images/emoji/metal.png +++ b/web/static/images/emoji/metal.png diff --git a/web/static/images/emoji/metro.png b/web/static/images/emoji/metro.png Binary files differindex 4acf5ab3e..747ab8ad1 100755..100644 --- a/web/static/images/emoji/metro.png +++ b/web/static/images/emoji/metro.png diff --git a/web/static/images/emoji/microphone.png b/web/static/images/emoji/microphone.png Binary files differindex 68c74adad..346b8967c 100755..100644 --- a/web/static/images/emoji/microphone.png +++ b/web/static/images/emoji/microphone.png diff --git a/web/static/images/emoji/microscope.png b/web/static/images/emoji/microscope.png Binary files differindex 8b7a5e4e6..944293d1e 100755..100644 --- a/web/static/images/emoji/microscope.png +++ b/web/static/images/emoji/microscope.png diff --git a/web/static/images/emoji/middle_finger.png b/web/static/images/emoji/middle_finger.png Binary files differnew file mode 100644 index 000000000..c4e5d4a91 --- /dev/null +++ b/web/static/images/emoji/middle_finger.png diff --git a/web/static/images/emoji/milky_way.png b/web/static/images/emoji/milky_way.png Binary files differindex 901090a12..4ee1090f4 100755..100644 --- a/web/static/images/emoji/milky_way.png +++ b/web/static/images/emoji/milky_way.png diff --git a/web/static/images/emoji/minibus.png b/web/static/images/emoji/minibus.png Binary files differindex c52cef234..462d0a348 100755..100644 --- a/web/static/images/emoji/minibus.png +++ b/web/static/images/emoji/minibus.png diff --git a/web/static/images/emoji/minidisc.png b/web/static/images/emoji/minidisc.png Binary files differindex e19cc5d01..49d651f9e 100755..100644 --- a/web/static/images/emoji/minidisc.png +++ b/web/static/images/emoji/minidisc.png diff --git a/web/static/images/emoji/mobile_phone_off.png b/web/static/images/emoji/mobile_phone_off.png Binary files differindex fa16c763c..63d1deeaa 100755..100644 --- a/web/static/images/emoji/mobile_phone_off.png +++ b/web/static/images/emoji/mobile_phone_off.png diff --git a/web/static/images/emoji/money_with_wings.png b/web/static/images/emoji/money_with_wings.png Binary files differindex 581a82449..46591e443 100755..100644 --- a/web/static/images/emoji/money_with_wings.png +++ b/web/static/images/emoji/money_with_wings.png diff --git a/web/static/images/emoji/moneybag.png b/web/static/images/emoji/moneybag.png Binary files differindex 5546c04ba..a44896ab0 100755..100644 --- a/web/static/images/emoji/moneybag.png +++ b/web/static/images/emoji/moneybag.png diff --git a/web/static/images/emoji/monkey.png b/web/static/images/emoji/monkey.png Binary files differindex 640703597..33e542ba6 100755..100644 --- a/web/static/images/emoji/monkey.png +++ b/web/static/images/emoji/monkey.png diff --git a/web/static/images/emoji/monkey_face.png b/web/static/images/emoji/monkey_face.png Binary files differindex 6964cf4d5..a753bae1c 100755..100644 --- a/web/static/images/emoji/monkey_face.png +++ b/web/static/images/emoji/monkey_face.png diff --git a/web/static/images/emoji/monorail.png b/web/static/images/emoji/monorail.png Binary files differindex 913d30024..83ba5af45 100755..100644 --- a/web/static/images/emoji/monorail.png +++ b/web/static/images/emoji/monorail.png diff --git a/web/static/images/emoji/moon.png b/web/static/images/emoji/moon.png Binary files differnew file mode 100644 index 000000000..b53fd4288 --- /dev/null +++ b/web/static/images/emoji/moon.png diff --git a/web/static/images/emoji/mortar_board.png b/web/static/images/emoji/mortar_board.png Binary files differindex 84513f6ba..4d5744f60 100755..100644 --- a/web/static/images/emoji/mortar_board.png +++ b/web/static/images/emoji/mortar_board.png diff --git a/web/static/images/emoji/motor_boat.png b/web/static/images/emoji/motor_boat.png Binary files differnew file mode 100644 index 000000000..1e720f431 --- /dev/null +++ b/web/static/images/emoji/motor_boat.png diff --git a/web/static/images/emoji/motorway.png b/web/static/images/emoji/motorway.png Binary files differnew file mode 100644 index 000000000..c7f7a5d48 --- /dev/null +++ b/web/static/images/emoji/motorway.png diff --git a/web/static/images/emoji/mount_fuji.png b/web/static/images/emoji/mount_fuji.png Binary files differindex 4c313e583..51d1aeab1 100755..100644 --- a/web/static/images/emoji/mount_fuji.png +++ b/web/static/images/emoji/mount_fuji.png diff --git a/web/static/images/emoji/mountain_bicyclist.png b/web/static/images/emoji/mountain_bicyclist.png Binary files differindex b69889756..d2aa6f821 100755..100644 --- a/web/static/images/emoji/mountain_bicyclist.png +++ b/web/static/images/emoji/mountain_bicyclist.png diff --git a/web/static/images/emoji/mountain_cableway.png b/web/static/images/emoji/mountain_cableway.png Binary files differindex 5688bb239..6dbd7307e 100755..100644 --- a/web/static/images/emoji/mountain_cableway.png +++ b/web/static/images/emoji/mountain_cableway.png diff --git a/web/static/images/emoji/mountain_railway.png b/web/static/images/emoji/mountain_railway.png Binary files differindex 1f3d1aab5..c69df1f8f 100755..100644 --- a/web/static/images/emoji/mountain_railway.png +++ b/web/static/images/emoji/mountain_railway.png diff --git a/web/static/images/emoji/mouse.png b/web/static/images/emoji/mouse.png Binary files differindex 8ff162e2d..a8e5eb73f 100755..100644 --- a/web/static/images/emoji/mouse.png +++ b/web/static/images/emoji/mouse.png diff --git a/web/static/images/emoji/mouse2.png b/web/static/images/emoji/mouse2.png Binary files differindex 2d777e5e1..5b1b1137f 100755..100644 --- a/web/static/images/emoji/mouse2.png +++ b/web/static/images/emoji/mouse2.png diff --git a/web/static/images/emoji/movie_camera.png b/web/static/images/emoji/movie_camera.png Binary files differindex 9c1438409..077458b67 100755..100644 --- a/web/static/images/emoji/movie_camera.png +++ b/web/static/images/emoji/movie_camera.png diff --git a/web/static/images/emoji/moyai.png b/web/static/images/emoji/moyai.png Binary files differindex 61a1a9c21..247d34e25 100755..100644 --- a/web/static/images/emoji/moyai.png +++ b/web/static/images/emoji/moyai.png diff --git a/web/static/images/emoji/muscle.png b/web/static/images/emoji/muscle.png Binary files differindex 19f92efb6..9300534fa 100755..100644 --- a/web/static/images/emoji/muscle.png +++ b/web/static/images/emoji/muscle.png diff --git a/web/static/images/emoji/mushroom.png b/web/static/images/emoji/mushroom.png Binary files differindex 5eeed8e79..ca7a039cb 100755..100644 --- a/web/static/images/emoji/mushroom.png +++ b/web/static/images/emoji/mushroom.png diff --git a/web/static/images/emoji/musical_keyboard.png b/web/static/images/emoji/musical_keyboard.png Binary files differindex 93647a4a3..c6c029920 100755..100644 --- a/web/static/images/emoji/musical_keyboard.png +++ b/web/static/images/emoji/musical_keyboard.png diff --git a/web/static/images/emoji/musical_note.png b/web/static/images/emoji/musical_note.png Binary files differindex 68b261bcb..f9bc86e4e 100755..100644 --- a/web/static/images/emoji/musical_note.png +++ b/web/static/images/emoji/musical_note.png diff --git a/web/static/images/emoji/musical_score.png b/web/static/images/emoji/musical_score.png Binary files differindex c99e3381f..ae50ab288 100755..100644 --- a/web/static/images/emoji/musical_score.png +++ b/web/static/images/emoji/musical_score.png diff --git a/web/static/images/emoji/mute.png b/web/static/images/emoji/mute.png Binary files differindex 4cf67c367..04d987046 100755..100644 --- a/web/static/images/emoji/mute.png +++ b/web/static/images/emoji/mute.png diff --git a/web/static/images/emoji/nail_care.png b/web/static/images/emoji/nail_care.png Binary files differindex 6a66e63d2..279881c26 100755..100644 --- a/web/static/images/emoji/nail_care.png +++ b/web/static/images/emoji/nail_care.png diff --git a/web/static/images/emoji/name_badge.png b/web/static/images/emoji/name_badge.png Binary files differindex 2b712dcd5..a1ffb38b3 100755..100644 --- a/web/static/images/emoji/name_badge.png +++ b/web/static/images/emoji/name_badge.png diff --git a/web/static/images/emoji/national_park.png b/web/static/images/emoji/national_park.png Binary files differnew file mode 100644 index 000000000..ff6fc0754 --- /dev/null +++ b/web/static/images/emoji/national_park.png diff --git a/web/static/images/emoji/neckbeard.png b/web/static/images/emoji/neckbeard.png Binary files differindex 6e31d1652..6e31d1652 100755..100644 --- a/web/static/images/emoji/neckbeard.png +++ b/web/static/images/emoji/neckbeard.png diff --git a/web/static/images/emoji/necktie.png b/web/static/images/emoji/necktie.png Binary files differindex 80461c66f..3ed0339bf 100755..100644 --- a/web/static/images/emoji/necktie.png +++ b/web/static/images/emoji/necktie.png diff --git a/web/static/images/emoji/negative_squared_cross_mark.png b/web/static/images/emoji/negative_squared_cross_mark.png Binary files differindex b47a0cece..90ca18394 100755..100644 --- a/web/static/images/emoji/negative_squared_cross_mark.png +++ b/web/static/images/emoji/negative_squared_cross_mark.png diff --git a/web/static/images/emoji/neutral_face.png b/web/static/images/emoji/neutral_face.png Binary files differindex 682a1ba06..6cabdf2f4 100755..100644 --- a/web/static/images/emoji/neutral_face.png +++ b/web/static/images/emoji/neutral_face.png diff --git a/web/static/images/emoji/new.png b/web/static/images/emoji/new.png Binary files differindex 28d1570e0..9d9f89101 100755..100644 --- a/web/static/images/emoji/new.png +++ b/web/static/images/emoji/new.png diff --git a/web/static/images/emoji/new_moon.png b/web/static/images/emoji/new_moon.png Binary files differindex 72492cb90..06e5e67f2 100755..100644 --- a/web/static/images/emoji/new_moon.png +++ b/web/static/images/emoji/new_moon.png diff --git a/web/static/images/emoji/new_moon_with_face.png b/web/static/images/emoji/new_moon_with_face.png Binary files differindex 21a696eb9..c7b2e8011 100755..100644 --- a/web/static/images/emoji/new_moon_with_face.png +++ b/web/static/images/emoji/new_moon_with_face.png diff --git a/web/static/images/emoji/newspaper.png b/web/static/images/emoji/newspaper.png Binary files differindex 60c3394dc..ae5e31494 100755..100644 --- a/web/static/images/emoji/newspaper.png +++ b/web/static/images/emoji/newspaper.png diff --git a/web/static/images/emoji/ng.png b/web/static/images/emoji/ng.png Binary files differindex 2ca180ae3..cc45e9df2 100755..100644 --- a/web/static/images/emoji/ng.png +++ b/web/static/images/emoji/ng.png diff --git a/web/static/images/emoji/night_with_stars.png b/web/static/images/emoji/night_with_stars.png Binary files differnew file mode 100644 index 000000000..b6b629204 --- /dev/null +++ b/web/static/images/emoji/night_with_stars.png diff --git a/web/static/images/emoji/nine.png b/web/static/images/emoji/nine.png Binary files differindex 8006cc909..e6b38a109 100755..100644 --- a/web/static/images/emoji/nine.png +++ b/web/static/images/emoji/nine.png diff --git a/web/static/images/emoji/no_bell.png b/web/static/images/emoji/no_bell.png Binary files differindex 613b81cd2..30e8858aa 100755..100644 --- a/web/static/images/emoji/no_bell.png +++ b/web/static/images/emoji/no_bell.png diff --git a/web/static/images/emoji/no_bicycles.png b/web/static/images/emoji/no_bicycles.png Binary files differindex 4b2621664..278f1424e 100755..100644 --- a/web/static/images/emoji/no_bicycles.png +++ b/web/static/images/emoji/no_bicycles.png diff --git a/web/static/images/emoji/no_entry.png b/web/static/images/emoji/no_entry.png Binary files differindex cf2086a8e..aca2edaa7 100755..100644 --- a/web/static/images/emoji/no_entry.png +++ b/web/static/images/emoji/no_entry.png diff --git a/web/static/images/emoji/no_entry_sign.png b/web/static/images/emoji/no_entry_sign.png Binary files differindex b3231f66d..6577a1058 100755..100644 --- a/web/static/images/emoji/no_entry_sign.png +++ b/web/static/images/emoji/no_entry_sign.png diff --git a/web/static/images/emoji/no_good.png b/web/static/images/emoji/no_good.png Binary files differindex d459a35bc..d7eead9de 100755..100644 --- a/web/static/images/emoji/no_good.png +++ b/web/static/images/emoji/no_good.png diff --git a/web/static/images/emoji/no_mobile_phones.png b/web/static/images/emoji/no_mobile_phones.png Binary files differindex 41df57cf8..8324e4361 100755..100644 --- a/web/static/images/emoji/no_mobile_phones.png +++ b/web/static/images/emoji/no_mobile_phones.png diff --git a/web/static/images/emoji/no_mouth.png b/web/static/images/emoji/no_mouth.png Binary files differindex e67802046..549fff988 100755..100644 --- a/web/static/images/emoji/no_mouth.png +++ b/web/static/images/emoji/no_mouth.png diff --git a/web/static/images/emoji/no_pedestrians.png b/web/static/images/emoji/no_pedestrians.png Binary files differindex 53ee0f927..b015b4eaf 100755..100644 --- a/web/static/images/emoji/no_pedestrians.png +++ b/web/static/images/emoji/no_pedestrians.png diff --git a/web/static/images/emoji/no_smoking.png b/web/static/images/emoji/no_smoking.png Binary files differindex 5880ddfd1..939a81ae8 100755..100644 --- a/web/static/images/emoji/no_smoking.png +++ b/web/static/images/emoji/no_smoking.png diff --git a/web/static/images/emoji/non-potable_water.png b/web/static/images/emoji/non-potable_water.png Binary files differindex 1b29d35b9..34de27d65 100755..100644 --- a/web/static/images/emoji/non-potable_water.png +++ b/web/static/images/emoji/non-potable_water.png diff --git a/web/static/images/emoji/nose.png b/web/static/images/emoji/nose.png Binary files differindex ad17c16c2..f3d289014 100755..100644 --- a/web/static/images/emoji/nose.png +++ b/web/static/images/emoji/nose.png diff --git a/web/static/images/emoji/notebook.png b/web/static/images/emoji/notebook.png Binary files differindex 5f0a5f6a2..5ed4f4112 100755..100644 --- a/web/static/images/emoji/notebook.png +++ b/web/static/images/emoji/notebook.png diff --git a/web/static/images/emoji/notebook_with_decorative_cover.png b/web/static/images/emoji/notebook_with_decorative_cover.png Binary files differindex 4f3b14c85..839ee3e78 100755..100644 --- a/web/static/images/emoji/notebook_with_decorative_cover.png +++ b/web/static/images/emoji/notebook_with_decorative_cover.png diff --git a/web/static/images/emoji/notes.png b/web/static/images/emoji/notes.png Binary files differindex 0956d6ab2..df2810aa4 100755..100644 --- a/web/static/images/emoji/notes.png +++ b/web/static/images/emoji/notes.png diff --git a/web/static/images/emoji/nut_and_bolt.png b/web/static/images/emoji/nut_and_bolt.png Binary files differindex bddfa72a7..fee747a01 100755..100644 --- a/web/static/images/emoji/nut_and_bolt.png +++ b/web/static/images/emoji/nut_and_bolt.png diff --git a/web/static/images/emoji/o.png b/web/static/images/emoji/o.png Binary files differindex 1ff846c19..f141dc452 100755..100644 --- a/web/static/images/emoji/o.png +++ b/web/static/images/emoji/o.png diff --git a/web/static/images/emoji/o2.png b/web/static/images/emoji/o2.png Binary files differindex d85f9fb98..b39215725 100755..100644 --- a/web/static/images/emoji/o2.png +++ b/web/static/images/emoji/o2.png diff --git a/web/static/images/emoji/ocean.png b/web/static/images/emoji/ocean.png Binary files differindex f8d520cd4..172dfffdf 100755..100644 --- a/web/static/images/emoji/ocean.png +++ b/web/static/images/emoji/ocean.png diff --git a/web/static/images/emoji/octocat.png b/web/static/images/emoji/octocat.png Binary files differindex d296f25fe..d296f25fe 100755..100644 --- a/web/static/images/emoji/octocat.png +++ b/web/static/images/emoji/octocat.png diff --git a/web/static/images/emoji/octopus.png b/web/static/images/emoji/octopus.png Binary files differindex 52ce64b46..8add7143e 100755..100644 --- a/web/static/images/emoji/octopus.png +++ b/web/static/images/emoji/octopus.png diff --git a/web/static/images/emoji/oden.png b/web/static/images/emoji/oden.png Binary files differindex 73add1c73..8ac803517 100755..100644 --- a/web/static/images/emoji/oden.png +++ b/web/static/images/emoji/oden.png diff --git a/web/static/images/emoji/office.png b/web/static/images/emoji/office.png Binary files differindex 53c3ef8d1..52a6bb4a4 100755..100644 --- a/web/static/images/emoji/office.png +++ b/web/static/images/emoji/office.png diff --git a/web/static/images/emoji/oil_drum.png b/web/static/images/emoji/oil_drum.png Binary files differnew file mode 100644 index 000000000..e7e597a98 --- /dev/null +++ b/web/static/images/emoji/oil_drum.png diff --git a/web/static/images/emoji/ok.png b/web/static/images/emoji/ok.png Binary files differindex 6433d1a90..ffa868d43 100755..100644 --- a/web/static/images/emoji/ok.png +++ b/web/static/images/emoji/ok.png diff --git a/web/static/images/emoji/ok_hand.png b/web/static/images/emoji/ok_hand.png Binary files differindex 80c5aebb6..bf84e0df4 100755..100644 --- a/web/static/images/emoji/ok_hand.png +++ b/web/static/images/emoji/ok_hand.png diff --git a/web/static/images/emoji/ok_woman.png b/web/static/images/emoji/ok_woman.png Binary files differindex e8b98194e..fcafef225 100755..100644 --- a/web/static/images/emoji/ok_woman.png +++ b/web/static/images/emoji/ok_woman.png diff --git a/web/static/images/emoji/old_key.png b/web/static/images/emoji/old_key.png Binary files differnew file mode 100644 index 000000000..d153b6888 --- /dev/null +++ b/web/static/images/emoji/old_key.png diff --git a/web/static/images/emoji/older_man.png b/web/static/images/emoji/older_man.png Binary files differindex 149f0cfb8..18fbbdde8 100755..100644 --- a/web/static/images/emoji/older_man.png +++ b/web/static/images/emoji/older_man.png diff --git a/web/static/images/emoji/older_woman.png b/web/static/images/emoji/older_woman.png Binary files differindex f839565f4..0848ebe92 100755..100644 --- a/web/static/images/emoji/older_woman.png +++ b/web/static/images/emoji/older_woman.png diff --git a/web/static/images/emoji/om_symbol.png b/web/static/images/emoji/om_symbol.png Binary files differnew file mode 100644 index 000000000..52cc9f00e --- /dev/null +++ b/web/static/images/emoji/om_symbol.png diff --git a/web/static/images/emoji/on.png b/web/static/images/emoji/on.png Binary files differindex 4cd69a15d..3c369cb1d 100755..100644 --- a/web/static/images/emoji/on.png +++ b/web/static/images/emoji/on.png diff --git a/web/static/images/emoji/oncoming_automobile.png b/web/static/images/emoji/oncoming_automobile.png Binary files differindex cb46de22c..b9b0dafbf 100755..100644 --- a/web/static/images/emoji/oncoming_automobile.png +++ b/web/static/images/emoji/oncoming_automobile.png diff --git a/web/static/images/emoji/oncoming_bus.png b/web/static/images/emoji/oncoming_bus.png Binary files differindex 3695f7623..bac2d85e3 100755..100644 --- a/web/static/images/emoji/oncoming_bus.png +++ b/web/static/images/emoji/oncoming_bus.png diff --git a/web/static/images/emoji/oncoming_police_car.png b/web/static/images/emoji/oncoming_police_car.png Binary files differindex af20e7eff..2ab9c3302 100755..100644 --- a/web/static/images/emoji/oncoming_police_car.png +++ b/web/static/images/emoji/oncoming_police_car.png diff --git a/web/static/images/emoji/oncoming_taxi.png b/web/static/images/emoji/oncoming_taxi.png Binary files differindex f78cf3103..108d49693 100755..100644 --- a/web/static/images/emoji/oncoming_taxi.png +++ b/web/static/images/emoji/oncoming_taxi.png diff --git a/web/static/images/emoji/one.png b/web/static/images/emoji/one.png Binary files differindex 2d1f9f8c4..b10ef8c0c 100755..100644 --- a/web/static/images/emoji/one.png +++ b/web/static/images/emoji/one.png diff --git a/web/static/images/emoji/open_book.png b/web/static/images/emoji/open_book.png Binary files differnew file mode 100644 index 000000000..01c836a7e --- /dev/null +++ b/web/static/images/emoji/open_book.png diff --git a/web/static/images/emoji/open_file_folder.png b/web/static/images/emoji/open_file_folder.png Binary files differindex 2bbbbf5e7..2d48340bf 100755..100644 --- a/web/static/images/emoji/open_file_folder.png +++ b/web/static/images/emoji/open_file_folder.png diff --git a/web/static/images/emoji/open_hands.png b/web/static/images/emoji/open_hands.png Binary files differindex cef9f428b..c8eb0bab5 100755..100644 --- a/web/static/images/emoji/open_hands.png +++ b/web/static/images/emoji/open_hands.png diff --git a/web/static/images/emoji/open_mouth.png b/web/static/images/emoji/open_mouth.png Binary files differindex daf914274..3f9cc3fff 100755..100644 --- a/web/static/images/emoji/open_mouth.png +++ b/web/static/images/emoji/open_mouth.png diff --git a/web/static/images/emoji/ophiuchus.png b/web/static/images/emoji/ophiuchus.png Binary files differindex 4eef715bc..600ad3a3c 100755..100644 --- a/web/static/images/emoji/ophiuchus.png +++ b/web/static/images/emoji/ophiuchus.png diff --git a/web/static/images/emoji/orange_book.png b/web/static/images/emoji/orange_book.png Binary files differindex 49650d59e..8ecfd9c10 100755..100644 --- a/web/static/images/emoji/orange_book.png +++ b/web/static/images/emoji/orange_book.png diff --git a/web/static/images/emoji/outbox_tray.png b/web/static/images/emoji/outbox_tray.png Binary files differindex 7ad15e649..7afec2610 100755..100644 --- a/web/static/images/emoji/outbox_tray.png +++ b/web/static/images/emoji/outbox_tray.png diff --git a/web/static/images/emoji/ox.png b/web/static/images/emoji/ox.png Binary files differindex 8d9819462..e1688630c 100755..100644 --- a/web/static/images/emoji/ox.png +++ b/web/static/images/emoji/ox.png diff --git a/web/static/images/emoji/package.png b/web/static/images/emoji/package.png Binary files differindex 26602af9d..424c4fd19 100755..100644 --- a/web/static/images/emoji/package.png +++ b/web/static/images/emoji/package.png diff --git a/web/static/images/emoji/page_facing_up.png b/web/static/images/emoji/page_facing_up.png Binary files differindex 804c0d739..f3023ba74 100755..100644 --- a/web/static/images/emoji/page_facing_up.png +++ b/web/static/images/emoji/page_facing_up.png diff --git a/web/static/images/emoji/page_with_curl.png b/web/static/images/emoji/page_with_curl.png Binary files differindex 37cb4de50..306b7e4d7 100755..100644 --- a/web/static/images/emoji/page_with_curl.png +++ b/web/static/images/emoji/page_with_curl.png diff --git a/web/static/images/emoji/pager.png b/web/static/images/emoji/pager.png Binary files differindex e3e1fc44e..acfd131a0 100755..100644 --- a/web/static/images/emoji/pager.png +++ b/web/static/images/emoji/pager.png diff --git a/web/static/images/emoji/palm_tree.png b/web/static/images/emoji/palm_tree.png Binary files differindex d13b7c620..b18cffc94 100755..100644 --- a/web/static/images/emoji/palm_tree.png +++ b/web/static/images/emoji/palm_tree.png diff --git a/web/static/images/emoji/panda_face.png b/web/static/images/emoji/panda_face.png Binary files differindex a794fb17f..a1ded2a6c 100755..100644 --- a/web/static/images/emoji/panda_face.png +++ b/web/static/images/emoji/panda_face.png diff --git a/web/static/images/emoji/paperclip.png b/web/static/images/emoji/paperclip.png Binary files differindex 677669a83..e241e1189 100755..100644 --- a/web/static/images/emoji/paperclip.png +++ b/web/static/images/emoji/paperclip.png diff --git a/web/static/images/emoji/parking.png b/web/static/images/emoji/parking.png Binary files differindex c24af81cc..340033226 100755..100644 --- a/web/static/images/emoji/parking.png +++ b/web/static/images/emoji/parking.png diff --git a/web/static/images/emoji/part_alternation_mark.png b/web/static/images/emoji/part_alternation_mark.png Binary files differindex 1e5855f8d..d39063ed9 100755..100644 --- a/web/static/images/emoji/part_alternation_mark.png +++ b/web/static/images/emoji/part_alternation_mark.png diff --git a/web/static/images/emoji/partly_sunny.png b/web/static/images/emoji/partly_sunny.png Binary files differindex b3f5bcfdd..a5c8d31b8 100755..100644 --- a/web/static/images/emoji/partly_sunny.png +++ b/web/static/images/emoji/partly_sunny.png diff --git a/web/static/images/emoji/passenger_ship.png b/web/static/images/emoji/passenger_ship.png Binary files differnew file mode 100644 index 000000000..512cb1200 --- /dev/null +++ b/web/static/images/emoji/passenger_ship.png diff --git a/web/static/images/emoji/passport_control.png b/web/static/images/emoji/passport_control.png Binary files differindex 675b76d37..51359c754 100755..100644 --- a/web/static/images/emoji/passport_control.png +++ b/web/static/images/emoji/passport_control.png diff --git a/web/static/images/emoji/paw_prints.png b/web/static/images/emoji/paw_prints.png Binary files differindex 89b9fec9e..b36eba864 100755..100644 --- a/web/static/images/emoji/paw_prints.png +++ b/web/static/images/emoji/paw_prints.png diff --git a/web/static/images/emoji/peach.png b/web/static/images/emoji/peach.png Binary files differindex ee2139ecb..24409997d 100755..100644 --- a/web/static/images/emoji/peach.png +++ b/web/static/images/emoji/peach.png diff --git a/web/static/images/emoji/pear.png b/web/static/images/emoji/pear.png Binary files differindex f24aca8c0..20b63b461 100755..100644 --- a/web/static/images/emoji/pear.png +++ b/web/static/images/emoji/pear.png diff --git a/web/static/images/emoji/pencil.png b/web/static/images/emoji/pencil.png Binary files differindex fc97ddbc9..61e5a08e6 100755..100644 --- a/web/static/images/emoji/pencil.png +++ b/web/static/images/emoji/pencil.png diff --git a/web/static/images/emoji/pencil2.png b/web/static/images/emoji/pencil2.png Binary files differindex 64c2d9b79..693ee8429 100755..100644 --- a/web/static/images/emoji/pencil2.png +++ b/web/static/images/emoji/pencil2.png diff --git a/web/static/images/emoji/penguin.png b/web/static/images/emoji/penguin.png Binary files differindex d8edbcb8f..1789bf222 100755..100644 --- a/web/static/images/emoji/penguin.png +++ b/web/static/images/emoji/penguin.png diff --git a/web/static/images/emoji/pensive.png b/web/static/images/emoji/pensive.png Binary files differindex 4159f3c42..ac55cb0f6 100755..100644 --- a/web/static/images/emoji/pensive.png +++ b/web/static/images/emoji/pensive.png diff --git a/web/static/images/emoji/performing_arts.png b/web/static/images/emoji/performing_arts.png Binary files differindex 899fbe5a7..97a5bb7fe 100755..100644 --- a/web/static/images/emoji/performing_arts.png +++ b/web/static/images/emoji/performing_arts.png diff --git a/web/static/images/emoji/persevere.png b/web/static/images/emoji/persevere.png Binary files differindex f99f6da47..ba1550418 100755..100644 --- a/web/static/images/emoji/persevere.png +++ b/web/static/images/emoji/persevere.png diff --git a/web/static/images/emoji/person_frowning.png b/web/static/images/emoji/person_frowning.png Binary files differindex 6f34d5e15..81dbb96cd 100755..100644 --- a/web/static/images/emoji/person_frowning.png +++ b/web/static/images/emoji/person_frowning.png diff --git a/web/static/images/emoji/person_with_blond_hair.png b/web/static/images/emoji/person_with_blond_hair.png Binary files differindex c144301cb..7cd2e8766 100755..100644 --- a/web/static/images/emoji/person_with_blond_hair.png +++ b/web/static/images/emoji/person_with_blond_hair.png diff --git a/web/static/images/emoji/person_with_pouting_face.png b/web/static/images/emoji/person_with_pouting_face.png Binary files differindex c4a95c3b2..466177621 100755..100644 --- a/web/static/images/emoji/person_with_pouting_face.png +++ b/web/static/images/emoji/person_with_pouting_face.png diff --git a/web/static/images/emoji/phone.png b/web/static/images/emoji/phone.png Binary files differindex 87d2559b5..6a14f1bfe 100755..100644 --- a/web/static/images/emoji/phone.png +++ b/web/static/images/emoji/phone.png diff --git a/web/static/images/emoji/pig.png b/web/static/images/emoji/pig.png Binary files differindex f7f273c73..e2ef71cc0 100755..100644 --- a/web/static/images/emoji/pig.png +++ b/web/static/images/emoji/pig.png diff --git a/web/static/images/emoji/pig2.png b/web/static/images/emoji/pig2.png Binary files differindex fec3374d7..de1147954 100755..100644 --- a/web/static/images/emoji/pig2.png +++ b/web/static/images/emoji/pig2.png diff --git a/web/static/images/emoji/pig_nose.png b/web/static/images/emoji/pig_nose.png Binary files differindex 38d612446..a704c5a41 100755..100644 --- a/web/static/images/emoji/pig_nose.png +++ b/web/static/images/emoji/pig_nose.png diff --git a/web/static/images/emoji/pill.png b/web/static/images/emoji/pill.png Binary files differindex cd84a78ff..260e44588 100755..100644 --- a/web/static/images/emoji/pill.png +++ b/web/static/images/emoji/pill.png diff --git a/web/static/images/emoji/pineapple.png b/web/static/images/emoji/pineapple.png Binary files differindex d6f8e2876..b9b9f8827 100755..100644 --- a/web/static/images/emoji/pineapple.png +++ b/web/static/images/emoji/pineapple.png diff --git a/web/static/images/emoji/pisces.png b/web/static/images/emoji/pisces.png Binary files differindex 6db2c3d50..939b88e60 100755..100644 --- a/web/static/images/emoji/pisces.png +++ b/web/static/images/emoji/pisces.png diff --git a/web/static/images/emoji/pizza.png b/web/static/images/emoji/pizza.png Binary files differindex 460367d02..ae1ef6266 100755..100644 --- a/web/static/images/emoji/pizza.png +++ b/web/static/images/emoji/pizza.png diff --git a/web/static/images/emoji/plus1.png b/web/static/images/emoji/plus1.png Binary files differdeleted file mode 100755 index 81786c1d8..000000000 --- a/web/static/images/emoji/plus1.png +++ /dev/null diff --git a/web/static/images/emoji/point_down.png b/web/static/images/emoji/point_down.png Binary files differindex 658c6d918..7eeae2d5d 100755..100644 --- a/web/static/images/emoji/point_down.png +++ b/web/static/images/emoji/point_down.png diff --git a/web/static/images/emoji/point_left.png b/web/static/images/emoji/point_left.png Binary files differindex 38a99b43f..4a8f90556 100755..100644 --- a/web/static/images/emoji/point_left.png +++ b/web/static/images/emoji/point_left.png diff --git a/web/static/images/emoji/point_right.png b/web/static/images/emoji/point_right.png Binary files differindex 6f9f029a4..b2e387878 100755..100644 --- a/web/static/images/emoji/point_right.png +++ b/web/static/images/emoji/point_right.png diff --git a/web/static/images/emoji/point_up.png b/web/static/images/emoji/point_up.png Binary files differindex 01896e214..387fe59e2 100755..100644 --- a/web/static/images/emoji/point_up.png +++ b/web/static/images/emoji/point_up.png diff --git a/web/static/images/emoji/point_up_2.png b/web/static/images/emoji/point_up_2.png Binary files differindex 1cfe73672..85b802a99 100755..100644 --- a/web/static/images/emoji/point_up_2.png +++ b/web/static/images/emoji/point_up_2.png diff --git a/web/static/images/emoji/police_car.png b/web/static/images/emoji/police_car.png Binary files differindex b8f17275e..4281ed3bb 100755..100644 --- a/web/static/images/emoji/police_car.png +++ b/web/static/images/emoji/police_car.png diff --git a/web/static/images/emoji/poodle.png b/web/static/images/emoji/poodle.png Binary files differindex adac80bd9..a69f6388d 100755..100644 --- a/web/static/images/emoji/poodle.png +++ b/web/static/images/emoji/poodle.png diff --git a/web/static/images/emoji/poop.png b/web/static/images/emoji/poop.png Binary files differindex 73a4dc840..0c237a788 100755..100644 --- a/web/static/images/emoji/poop.png +++ b/web/static/images/emoji/poop.png diff --git a/web/static/images/emoji/post_office.png b/web/static/images/emoji/post_office.png Binary files differindex 43b59e30e..f819dac89 100755..100644 --- a/web/static/images/emoji/post_office.png +++ b/web/static/images/emoji/post_office.png diff --git a/web/static/images/emoji/postal_horn.png b/web/static/images/emoji/postal_horn.png Binary files differindex 13a151418..2313eeb45 100755..100644 --- a/web/static/images/emoji/postal_horn.png +++ b/web/static/images/emoji/postal_horn.png diff --git a/web/static/images/emoji/postbox.png b/web/static/images/emoji/postbox.png Binary files differindex ce04b7008..1633e892c 100755..100644 --- a/web/static/images/emoji/postbox.png +++ b/web/static/images/emoji/postbox.png diff --git a/web/static/images/emoji/potable_water.png b/web/static/images/emoji/potable_water.png Binary files differindex e9fd56079..9fd0e87e9 100755..100644 --- a/web/static/images/emoji/potable_water.png +++ b/web/static/images/emoji/potable_water.png diff --git a/web/static/images/emoji/pouch.png b/web/static/images/emoji/pouch.png Binary files differindex dc35ae8e5..d8e54dd7c 100755..100644 --- a/web/static/images/emoji/pouch.png +++ b/web/static/images/emoji/pouch.png diff --git a/web/static/images/emoji/poultry_leg.png b/web/static/images/emoji/poultry_leg.png Binary files differindex 43ad85965..eafba9a3e 100755..100644 --- a/web/static/images/emoji/poultry_leg.png +++ b/web/static/images/emoji/poultry_leg.png diff --git a/web/static/images/emoji/pound.png b/web/static/images/emoji/pound.png Binary files differindex f8be91d7a..555e0823f 100755..100644 --- a/web/static/images/emoji/pound.png +++ b/web/static/images/emoji/pound.png diff --git a/web/static/images/emoji/pouting_cat.png b/web/static/images/emoji/pouting_cat.png Binary files differindex 4325fd48d..a001bcfa7 100755..100644 --- a/web/static/images/emoji/pouting_cat.png +++ b/web/static/images/emoji/pouting_cat.png diff --git a/web/static/images/emoji/pray.png b/web/static/images/emoji/pray.png Binary files differindex f86c992d5..47a5f03b2 100755..100644 --- a/web/static/images/emoji/pray.png +++ b/web/static/images/emoji/pray.png diff --git a/web/static/images/emoji/princess.png b/web/static/images/emoji/princess.png Binary files differindex 1ebb2ce9b..a8b0ff903 100755..100644 --- a/web/static/images/emoji/princess.png +++ b/web/static/images/emoji/princess.png diff --git a/web/static/images/emoji/printer.png b/web/static/images/emoji/printer.png Binary files differnew file mode 100644 index 000000000..8d6002d7b --- /dev/null +++ b/web/static/images/emoji/printer.png diff --git a/web/static/images/emoji/punch.png b/web/static/images/emoji/punch.png Binary files differindex 277047b7c..7d10b3eda 100755..100644 --- a/web/static/images/emoji/punch.png +++ b/web/static/images/emoji/punch.png diff --git a/web/static/images/emoji/purple_heart.png b/web/static/images/emoji/purple_heart.png Binary files differindex d5f875043..97bb564a1 100755..100644 --- a/web/static/images/emoji/purple_heart.png +++ b/web/static/images/emoji/purple_heart.png diff --git a/web/static/images/emoji/purse.png b/web/static/images/emoji/purse.png Binary files differindex 8f06a2b93..da09a41a3 100755..100644 --- a/web/static/images/emoji/purse.png +++ b/web/static/images/emoji/purse.png diff --git a/web/static/images/emoji/pushpin.png b/web/static/images/emoji/pushpin.png Binary files differindex 540c4ecb8..557ac45f0 100755..100644 --- a/web/static/images/emoji/pushpin.png +++ b/web/static/images/emoji/pushpin.png diff --git a/web/static/images/emoji/put_litter_in_its_place.png b/web/static/images/emoji/put_litter_in_its_place.png Binary files differindex c2e350c2d..e1c1deb24 100755..100644 --- a/web/static/images/emoji/put_litter_in_its_place.png +++ b/web/static/images/emoji/put_litter_in_its_place.png diff --git a/web/static/images/emoji/question.png b/web/static/images/emoji/question.png Binary files differindex 38cedf560..9e84758ee 100755..100644 --- a/web/static/images/emoji/question.png +++ b/web/static/images/emoji/question.png diff --git a/web/static/images/emoji/rabbit.png b/web/static/images/emoji/rabbit.png Binary files differindex 5cb3ef6f0..e6203c052 100755..100644 --- a/web/static/images/emoji/rabbit.png +++ b/web/static/images/emoji/rabbit.png diff --git a/web/static/images/emoji/rabbit2.png b/web/static/images/emoji/rabbit2.png Binary files differindex a9fd24dc1..ab2fae0fc 100755..100644 --- a/web/static/images/emoji/rabbit2.png +++ b/web/static/images/emoji/rabbit2.png diff --git a/web/static/images/emoji/racehorse.png b/web/static/images/emoji/racehorse.png Binary files differindex 4d09c64de..fadf8f2bf 100755..100644 --- a/web/static/images/emoji/racehorse.png +++ b/web/static/images/emoji/racehorse.png diff --git a/web/static/images/emoji/racing_car.png b/web/static/images/emoji/racing_car.png Binary files differnew file mode 100644 index 000000000..0f76828f6 --- /dev/null +++ b/web/static/images/emoji/racing_car.png diff --git a/web/static/images/emoji/racing_motorcycle.png b/web/static/images/emoji/racing_motorcycle.png Binary files differnew file mode 100644 index 000000000..8dcffc8f9 --- /dev/null +++ b/web/static/images/emoji/racing_motorcycle.png diff --git a/web/static/images/emoji/radio.png b/web/static/images/emoji/radio.png Binary files differindex ea589efe3..e75747faa 100755..100644 --- a/web/static/images/emoji/radio.png +++ b/web/static/images/emoji/radio.png diff --git a/web/static/images/emoji/radio_button.png b/web/static/images/emoji/radio_button.png Binary files differindex 63755eec2..bbc36031e 100755..100644 --- a/web/static/images/emoji/radio_button.png +++ b/web/static/images/emoji/radio_button.png diff --git a/web/static/images/emoji/rage.png b/web/static/images/emoji/rage.png Binary files differindex c65ddff55..c7f2df28c 100755..100644 --- a/web/static/images/emoji/rage.png +++ b/web/static/images/emoji/rage.png diff --git a/web/static/images/emoji/rage1.png b/web/static/images/emoji/rage1.png Binary files differindex 1506ba403..1506ba403 100755..100644 --- a/web/static/images/emoji/rage1.png +++ b/web/static/images/emoji/rage1.png diff --git a/web/static/images/emoji/rage2.png b/web/static/images/emoji/rage2.png Binary files differindex f792e063b..f792e063b 100755..100644 --- a/web/static/images/emoji/rage2.png +++ b/web/static/images/emoji/rage2.png diff --git a/web/static/images/emoji/rage3.png b/web/static/images/emoji/rage3.png Binary files differindex 58764cbcb..58764cbcb 100755..100644 --- a/web/static/images/emoji/rage3.png +++ b/web/static/images/emoji/rage3.png diff --git a/web/static/images/emoji/rage4.png b/web/static/images/emoji/rage4.png Binary files differindex c726c94a2..c726c94a2 100755..100644 --- a/web/static/images/emoji/rage4.png +++ b/web/static/images/emoji/rage4.png diff --git a/web/static/images/emoji/railway_car.png b/web/static/images/emoji/railway_car.png Binary files differindex 22361158f..82d808866 100755..100644 --- a/web/static/images/emoji/railway_car.png +++ b/web/static/images/emoji/railway_car.png diff --git a/web/static/images/emoji/railway_track.png b/web/static/images/emoji/railway_track.png Binary files differnew file mode 100644 index 000000000..322831040 --- /dev/null +++ b/web/static/images/emoji/railway_track.png diff --git a/web/static/images/emoji/rain_cloud.png b/web/static/images/emoji/rain_cloud.png Binary files differnew file mode 100644 index 000000000..507e1df08 --- /dev/null +++ b/web/static/images/emoji/rain_cloud.png diff --git a/web/static/images/emoji/rainbow.png b/web/static/images/emoji/rainbow.png Binary files differindex 6b1faa037..1d92301f9 100755..100644 --- a/web/static/images/emoji/rainbow.png +++ b/web/static/images/emoji/rainbow.png diff --git a/web/static/images/emoji/raised_hand.png b/web/static/images/emoji/raised_hand.png Binary files differindex 5e45c25a5..89de966a3 100755..100644 --- a/web/static/images/emoji/raised_hand.png +++ b/web/static/images/emoji/raised_hand.png diff --git a/web/static/images/emoji/raised_hand_with_fingers_splayed.png b/web/static/images/emoji/raised_hand_with_fingers_splayed.png Binary files differnew file mode 100644 index 000000000..09046e201 --- /dev/null +++ b/web/static/images/emoji/raised_hand_with_fingers_splayed.png diff --git a/web/static/images/emoji/raised_hands.png b/web/static/images/emoji/raised_hands.png Binary files differindex e03142bdc..8dbc25f83 100755..100644 --- a/web/static/images/emoji/raised_hands.png +++ b/web/static/images/emoji/raised_hands.png diff --git a/web/static/images/emoji/raising_hand.png b/web/static/images/emoji/raising_hand.png Binary files differindex e1741a40e..e9d54836a 100755..100644 --- a/web/static/images/emoji/raising_hand.png +++ b/web/static/images/emoji/raising_hand.png diff --git a/web/static/images/emoji/ram.png b/web/static/images/emoji/ram.png Binary files differindex 5ea7bfbc0..17af1b9a5 100755..100644 --- a/web/static/images/emoji/ram.png +++ b/web/static/images/emoji/ram.png diff --git a/web/static/images/emoji/ramen.png b/web/static/images/emoji/ramen.png Binary files differindex 78dc7d537..787827566 100755..100644 --- a/web/static/images/emoji/ramen.png +++ b/web/static/images/emoji/ramen.png diff --git a/web/static/images/emoji/rat.png b/web/static/images/emoji/rat.png Binary files differindex fa7dd401c..58c2d79d8 100755..100644 --- a/web/static/images/emoji/rat.png +++ b/web/static/images/emoji/rat.png diff --git a/web/static/images/emoji/recycle.png b/web/static/images/emoji/recycle.png Binary files differindex 99104c0e9..181391e86 100755..100644 --- a/web/static/images/emoji/recycle.png +++ b/web/static/images/emoji/recycle.png diff --git a/web/static/images/emoji/red_car.png b/web/static/images/emoji/red_car.png Binary files differindex d70a2f062..e266bd21e 100755..100644 --- a/web/static/images/emoji/red_car.png +++ b/web/static/images/emoji/red_car.png diff --git a/web/static/images/emoji/red_circle.png b/web/static/images/emoji/red_circle.png Binary files differindex b391289b2..bd50ae446 100755..100644 --- a/web/static/images/emoji/red_circle.png +++ b/web/static/images/emoji/red_circle.png diff --git a/web/static/images/emoji/registered.png b/web/static/images/emoji/registered.png Binary files differindex 31c68a80b..68d445daf 100755..100644 --- a/web/static/images/emoji/registered.png +++ b/web/static/images/emoji/registered.png diff --git a/web/static/images/emoji/relaxed.png b/web/static/images/emoji/relaxed.png Binary files differindex bbab82d3b..ea6e93a65 100755..100644 --- a/web/static/images/emoji/relaxed.png +++ b/web/static/images/emoji/relaxed.png diff --git a/web/static/images/emoji/relieved.png b/web/static/images/emoji/relieved.png Binary files differindex fe5629f43..3cb7aeced 100755..100644 --- a/web/static/images/emoji/relieved.png +++ b/web/static/images/emoji/relieved.png diff --git a/web/static/images/emoji/reminder_ribbon.png b/web/static/images/emoji/reminder_ribbon.png Binary files differnew file mode 100644 index 000000000..8104604b6 --- /dev/null +++ b/web/static/images/emoji/reminder_ribbon.png diff --git a/web/static/images/emoji/repeat.png b/web/static/images/emoji/repeat.png Binary files differindex 80113b692..8420b4f5d 100755..100644 --- a/web/static/images/emoji/repeat.png +++ b/web/static/images/emoji/repeat.png diff --git a/web/static/images/emoji/repeat_one.png b/web/static/images/emoji/repeat_one.png Binary files differindex 3c47bcc1f..2dacec71a 100755..100644 --- a/web/static/images/emoji/repeat_one.png +++ b/web/static/images/emoji/repeat_one.png diff --git a/web/static/images/emoji/restroom.png b/web/static/images/emoji/restroom.png Binary files differindex d6c111b29..76b3c2833 100755..100644 --- a/web/static/images/emoji/restroom.png +++ b/web/static/images/emoji/restroom.png diff --git a/web/static/images/emoji/reversed_hand_with_middle_finger_extended.png b/web/static/images/emoji/reversed_hand_with_middle_finger_extended.png Binary files differnew file mode 100644 index 000000000..c4e5d4a91 --- /dev/null +++ b/web/static/images/emoji/reversed_hand_with_middle_finger_extended.png diff --git a/web/static/images/emoji/revolving_hearts.png b/web/static/images/emoji/revolving_hearts.png Binary files differindex ea3317c47..0602d03c1 100755..100644 --- a/web/static/images/emoji/revolving_hearts.png +++ b/web/static/images/emoji/revolving_hearts.png diff --git a/web/static/images/emoji/rewind.png b/web/static/images/emoji/rewind.png Binary files differindex 26289dc3d..cd693f938 100755..100644 --- a/web/static/images/emoji/rewind.png +++ b/web/static/images/emoji/rewind.png diff --git a/web/static/images/emoji/ribbon.png b/web/static/images/emoji/ribbon.png Binary files differindex 63ee5ba5a..ea7ae1d76 100755..100644 --- a/web/static/images/emoji/ribbon.png +++ b/web/static/images/emoji/ribbon.png diff --git a/web/static/images/emoji/rice.png b/web/static/images/emoji/rice.png Binary files differindex 1fd22027b..8a9076f8a 100755..100644 --- a/web/static/images/emoji/rice.png +++ b/web/static/images/emoji/rice.png diff --git a/web/static/images/emoji/rice_ball.png b/web/static/images/emoji/rice_ball.png Binary files differindex ade7c45d3..4a24a91e2 100755..100644 --- a/web/static/images/emoji/rice_ball.png +++ b/web/static/images/emoji/rice_ball.png diff --git a/web/static/images/emoji/rice_cracker.png b/web/static/images/emoji/rice_cracker.png Binary files differindex 954c901e9..83382b6cb 100755..100644 --- a/web/static/images/emoji/rice_cracker.png +++ b/web/static/images/emoji/rice_cracker.png diff --git a/web/static/images/emoji/rice_scene.png b/web/static/images/emoji/rice_scene.png Binary files differindex 14361988d..8ce954451 100755..100644 --- a/web/static/images/emoji/rice_scene.png +++ b/web/static/images/emoji/rice_scene.png diff --git a/web/static/images/emoji/right_anger_bubble.png b/web/static/images/emoji/right_anger_bubble.png Binary files differnew file mode 100644 index 000000000..8e25fa6b4 --- /dev/null +++ b/web/static/images/emoji/right_anger_bubble.png diff --git a/web/static/images/emoji/ring.png b/web/static/images/emoji/ring.png Binary files differindex 8a57fd68b..f033d7941 100755..100644 --- a/web/static/images/emoji/ring.png +++ b/web/static/images/emoji/ring.png diff --git a/web/static/images/emoji/rocket.png b/web/static/images/emoji/rocket.png Binary files differindex 783078d37..0ca6d5fed 100755..100644 --- a/web/static/images/emoji/rocket.png +++ b/web/static/images/emoji/rocket.png diff --git a/web/static/images/emoji/rolled_up_newspaper.png b/web/static/images/emoji/rolled_up_newspaper.png Binary files differnew file mode 100644 index 000000000..4254eb5f2 --- /dev/null +++ b/web/static/images/emoji/rolled_up_newspaper.png diff --git a/web/static/images/emoji/roller_coaster.png b/web/static/images/emoji/roller_coaster.png Binary files differindex 9180b9861..0c506765e 100755..100644 --- a/web/static/images/emoji/roller_coaster.png +++ b/web/static/images/emoji/roller_coaster.png diff --git a/web/static/images/emoji/rooster.png b/web/static/images/emoji/rooster.png Binary files differindex fab23ad36..798542a0e 100755..100644 --- a/web/static/images/emoji/rooster.png +++ b/web/static/images/emoji/rooster.png diff --git a/web/static/images/emoji/rose.png b/web/static/images/emoji/rose.png Binary files differindex 3479fbcbb..2a9d77598 100755..100644 --- a/web/static/images/emoji/rose.png +++ b/web/static/images/emoji/rose.png diff --git a/web/static/images/emoji/rosette.png b/web/static/images/emoji/rosette.png Binary files differnew file mode 100644 index 000000000..8312eb177 --- /dev/null +++ b/web/static/images/emoji/rosette.png diff --git a/web/static/images/emoji/rotating_light.png b/web/static/images/emoji/rotating_light.png Binary files differindex 6cf4a775e..72095645c 100755..100644 --- a/web/static/images/emoji/rotating_light.png +++ b/web/static/images/emoji/rotating_light.png diff --git a/web/static/images/emoji/round_pushpin.png b/web/static/images/emoji/round_pushpin.png Binary files differindex e498e92cf..b16e5c41a 100755..100644 --- a/web/static/images/emoji/round_pushpin.png +++ b/web/static/images/emoji/round_pushpin.png diff --git a/web/static/images/emoji/rowboat.png b/web/static/images/emoji/rowboat.png Binary files differindex e370d0fb1..3a16b632b 100755..100644 --- a/web/static/images/emoji/rowboat.png +++ b/web/static/images/emoji/rowboat.png diff --git a/web/static/images/emoji/ru.png b/web/static/images/emoji/ru.png Binary files differindex 55fcf3549..4a65f219f 100755..100644 --- a/web/static/images/emoji/ru.png +++ b/web/static/images/emoji/ru.png diff --git a/web/static/images/emoji/rugby_football.png b/web/static/images/emoji/rugby_football.png Binary files differindex f8db67d70..3f72e529a 100755..100644 --- a/web/static/images/emoji/rugby_football.png +++ b/web/static/images/emoji/rugby_football.png diff --git a/web/static/images/emoji/runner.png b/web/static/images/emoji/runner.png Binary files differindex cb0042962..8dcc38400 100755..100644 --- a/web/static/images/emoji/runner.png +++ b/web/static/images/emoji/runner.png diff --git a/web/static/images/emoji/running.png b/web/static/images/emoji/running.png Binary files differindex cb0042962..8dcc38400 100755..100644 --- a/web/static/images/emoji/running.png +++ b/web/static/images/emoji/running.png diff --git a/web/static/images/emoji/running_shirt_with_sash.png b/web/static/images/emoji/running_shirt_with_sash.png Binary files differindex 0d68bba09..e49632dad 100755..100644 --- a/web/static/images/emoji/running_shirt_with_sash.png +++ b/web/static/images/emoji/running_shirt_with_sash.png diff --git a/web/static/images/emoji/sa.png b/web/static/images/emoji/sa.png Binary files differindex 387f098b9..c6dafece9 100755..100644 --- a/web/static/images/emoji/sa.png +++ b/web/static/images/emoji/sa.png diff --git a/web/static/images/emoji/sagittarius.png b/web/static/images/emoji/sagittarius.png Binary files differindex 8b5435baa..b5d55c10f 100755..100644 --- a/web/static/images/emoji/sagittarius.png +++ b/web/static/images/emoji/sagittarius.png diff --git a/web/static/images/emoji/sailboat.png b/web/static/images/emoji/sailboat.png Binary files differindex ff656dc62..9e862f831 100755..100644 --- a/web/static/images/emoji/sailboat.png +++ b/web/static/images/emoji/sailboat.png diff --git a/web/static/images/emoji/sake.png b/web/static/images/emoji/sake.png Binary files differindex 1f69907e5..40a158bfe 100755..100644 --- a/web/static/images/emoji/sake.png +++ b/web/static/images/emoji/sake.png diff --git a/web/static/images/emoji/sandal.png b/web/static/images/emoji/sandal.png Binary files differindex 0bb3f663f..1db7005bb 100755..100644 --- a/web/static/images/emoji/sandal.png +++ b/web/static/images/emoji/sandal.png diff --git a/web/static/images/emoji/santa.png b/web/static/images/emoji/santa.png Binary files differindex a2240c07e..29d63fd91 100755..100644 --- a/web/static/images/emoji/santa.png +++ b/web/static/images/emoji/santa.png diff --git a/web/static/images/emoji/satellite.png b/web/static/images/emoji/satellite.png Binary files differindex 3481cc2ef..7411b9235 100755..100644 --- a/web/static/images/emoji/satellite.png +++ b/web/static/images/emoji/satellite.png diff --git a/web/static/images/emoji/satisfied.png b/web/static/images/emoji/satisfied.png Binary files differindex 11c91eb22..d7e70b1a4 100755..100644 --- a/web/static/images/emoji/satisfied.png +++ b/web/static/images/emoji/satisfied.png diff --git a/web/static/images/emoji/saxophone.png b/web/static/images/emoji/saxophone.png Binary files differindex 011559a76..63446652f 100755..100644 --- a/web/static/images/emoji/saxophone.png +++ b/web/static/images/emoji/saxophone.png diff --git a/web/static/images/emoji/school.png b/web/static/images/emoji/school.png Binary files differindex afd922bf1..f8e0814e0 100755..100644 --- a/web/static/images/emoji/school.png +++ b/web/static/images/emoji/school.png diff --git a/web/static/images/emoji/school_satchel.png b/web/static/images/emoji/school_satchel.png Binary files differindex edfb19aec..f9bb6c1aa 100755..100644 --- a/web/static/images/emoji/school_satchel.png +++ b/web/static/images/emoji/school_satchel.png diff --git a/web/static/images/emoji/scissors.png b/web/static/images/emoji/scissors.png Binary files differindex d99b8aea0..0a2d1b07f 100755..100644 --- a/web/static/images/emoji/scissors.png +++ b/web/static/images/emoji/scissors.png diff --git a/web/static/images/emoji/scorpius.png b/web/static/images/emoji/scorpius.png Binary files differindex 67fcea165..f903e7665 100755..100644 --- a/web/static/images/emoji/scorpius.png +++ b/web/static/images/emoji/scorpius.png diff --git a/web/static/images/emoji/scream.png b/web/static/images/emoji/scream.png Binary files differindex 9e93c885d..ea77d3e6b 100755..100644 --- a/web/static/images/emoji/scream.png +++ b/web/static/images/emoji/scream.png diff --git a/web/static/images/emoji/scream_cat.png b/web/static/images/emoji/scream_cat.png Binary files differindex d94cd34ff..a4e67e97d 100755..100644 --- a/web/static/images/emoji/scream_cat.png +++ b/web/static/images/emoji/scream_cat.png diff --git a/web/static/images/emoji/scroll.png b/web/static/images/emoji/scroll.png Binary files differindex c5a10e6b8..c8ee30803 100755..100644 --- a/web/static/images/emoji/scroll.png +++ b/web/static/images/emoji/scroll.png diff --git a/web/static/images/emoji/seat.png b/web/static/images/emoji/seat.png Binary files differindex d1cb864b4..1ec8166b6 100755..100644 --- a/web/static/images/emoji/seat.png +++ b/web/static/images/emoji/seat.png diff --git a/web/static/images/emoji/secret.png b/web/static/images/emoji/secret.png Binary files differindex 82e383a60..5ff746bec 100755..100644 --- a/web/static/images/emoji/secret.png +++ b/web/static/images/emoji/secret.png diff --git a/web/static/images/emoji/see_no_evil.png b/web/static/images/emoji/see_no_evil.png Binary files differindex 0890a6222..df1fb6607 100755..100644 --- a/web/static/images/emoji/see_no_evil.png +++ b/web/static/images/emoji/see_no_evil.png diff --git a/web/static/images/emoji/seedling.png b/web/static/images/emoji/seedling.png Binary files differindex 2ab079310..eae79d274 100755..100644 --- a/web/static/images/emoji/seedling.png +++ b/web/static/images/emoji/seedling.png diff --git a/web/static/images/emoji/seven.png b/web/static/images/emoji/seven.png Binary files differindex 354e89ae7..33151fdba 100755..100644 --- a/web/static/images/emoji/seven.png +++ b/web/static/images/emoji/seven.png diff --git a/web/static/images/emoji/shaved_ice.png b/web/static/images/emoji/shaved_ice.png Binary files differindex 0d0b382c2..a14f0f4ec 100755..100644 --- a/web/static/images/emoji/shaved_ice.png +++ b/web/static/images/emoji/shaved_ice.png diff --git a/web/static/images/emoji/sheep.png b/web/static/images/emoji/sheep.png Binary files differindex c7277d289..e47d6eda8 100755..100644 --- a/web/static/images/emoji/sheep.png +++ b/web/static/images/emoji/sheep.png diff --git a/web/static/images/emoji/shell.png b/web/static/images/emoji/shell.png Binary files differindex 3145b5649..01bc086fa 100755..100644 --- a/web/static/images/emoji/shell.png +++ b/web/static/images/emoji/shell.png diff --git a/web/static/images/emoji/shield.png b/web/static/images/emoji/shield.png Binary files differnew file mode 100644 index 000000000..30a63a8bf --- /dev/null +++ b/web/static/images/emoji/shield.png diff --git a/web/static/images/emoji/ship.png b/web/static/images/emoji/ship.png Binary files differindex 5d2d8b602..08465890d 100755..100644 --- a/web/static/images/emoji/ship.png +++ b/web/static/images/emoji/ship.png diff --git a/web/static/images/emoji/shipit.png b/web/static/images/emoji/shipit.png Binary files differindex a58a47f62..a58a47f62 100755..100644 --- a/web/static/images/emoji/shipit.png +++ b/web/static/images/emoji/shipit.png diff --git a/web/static/images/emoji/shirt.png b/web/static/images/emoji/shirt.png Binary files differindex 297a6d63e..556efde26 100755..100644 --- a/web/static/images/emoji/shirt.png +++ b/web/static/images/emoji/shirt.png diff --git a/web/static/images/emoji/shit.png b/web/static/images/emoji/shit.png Binary files differindex 73a4dc840..0c237a788 100755..100644 --- a/web/static/images/emoji/shit.png +++ b/web/static/images/emoji/shit.png diff --git a/web/static/images/emoji/shoe.png b/web/static/images/emoji/shoe.png Binary files differindex 45b82e61c..8d8a9feeb 100755..100644 --- a/web/static/images/emoji/shoe.png +++ b/web/static/images/emoji/shoe.png diff --git a/web/static/images/emoji/shopping_bags.png b/web/static/images/emoji/shopping_bags.png Binary files differnew file mode 100644 index 000000000..c4aa0049c --- /dev/null +++ b/web/static/images/emoji/shopping_bags.png diff --git a/web/static/images/emoji/shower.png b/web/static/images/emoji/shower.png Binary files differindex 0d72ab86b..860c4da66 100755..100644 --- a/web/static/images/emoji/shower.png +++ b/web/static/images/emoji/shower.png diff --git a/web/static/images/emoji/signal_strength.png b/web/static/images/emoji/signal_strength.png Binary files differindex a4bd23ebf..21956bb51 100755..100644 --- a/web/static/images/emoji/signal_strength.png +++ b/web/static/images/emoji/signal_strength.png diff --git a/web/static/images/emoji/six.png b/web/static/images/emoji/six.png Binary files differindex 568805565..cd0b30fd2 100755..100644 --- a/web/static/images/emoji/six.png +++ b/web/static/images/emoji/six.png diff --git a/web/static/images/emoji/six_pointed_star.png b/web/static/images/emoji/six_pointed_star.png Binary files differindex c11af14c8..3b590a628 100755..100644 --- a/web/static/images/emoji/six_pointed_star.png +++ b/web/static/images/emoji/six_pointed_star.png diff --git a/web/static/images/emoji/ski.png b/web/static/images/emoji/ski.png Binary files differindex 98f5cb0f4..ac8151619 100755..100644 --- a/web/static/images/emoji/ski.png +++ b/web/static/images/emoji/ski.png diff --git a/web/static/images/emoji/skull.png b/web/static/images/emoji/skull.png Binary files differindex bd4ee3829..ee66d7147 100755..100644 --- a/web/static/images/emoji/skull.png +++ b/web/static/images/emoji/skull.png diff --git a/web/static/images/emoji/sleeping.png b/web/static/images/emoji/sleeping.png Binary files differindex 093b85236..04ed2ea52 100755..100644 --- a/web/static/images/emoji/sleeping.png +++ b/web/static/images/emoji/sleeping.png diff --git a/web/static/images/emoji/sleeping_accommodation.png b/web/static/images/emoji/sleeping_accommodation.png Binary files differnew file mode 100644 index 000000000..4d232c9bb --- /dev/null +++ b/web/static/images/emoji/sleeping_accommodation.png diff --git a/web/static/images/emoji/sleepy.png b/web/static/images/emoji/sleepy.png Binary files differindex df4f55efd..5269b493c 100755..100644 --- a/web/static/images/emoji/sleepy.png +++ b/web/static/images/emoji/sleepy.png diff --git a/web/static/images/emoji/sleuth_or_spy.png b/web/static/images/emoji/sleuth_or_spy.png Binary files differnew file mode 100644 index 000000000..9ee45b37b --- /dev/null +++ b/web/static/images/emoji/sleuth_or_spy.png diff --git a/web/static/images/emoji/slightly_frowning_face.png b/web/static/images/emoji/slightly_frowning_face.png Binary files differnew file mode 100644 index 000000000..55e16c1cf --- /dev/null +++ b/web/static/images/emoji/slightly_frowning_face.png diff --git a/web/static/images/emoji/slightly_smiling_face.png b/web/static/images/emoji/slightly_smiling_face.png Binary files differnew file mode 100644 index 000000000..1bb673b36 --- /dev/null +++ b/web/static/images/emoji/slightly_smiling_face.png diff --git a/web/static/images/emoji/slot_machine.png b/web/static/images/emoji/slot_machine.png Binary files differindex 26f114830..81db7b1c0 100755..100644 --- a/web/static/images/emoji/slot_machine.png +++ b/web/static/images/emoji/slot_machine.png diff --git a/web/static/images/emoji/small_airplane.png b/web/static/images/emoji/small_airplane.png Binary files differnew file mode 100644 index 000000000..bd369a205 --- /dev/null +++ b/web/static/images/emoji/small_airplane.png diff --git a/web/static/images/emoji/small_blue_diamond.png b/web/static/images/emoji/small_blue_diamond.png Binary files differindex 8cd49205f..9b8ded84a 100755..100644 --- a/web/static/images/emoji/small_blue_diamond.png +++ b/web/static/images/emoji/small_blue_diamond.png diff --git a/web/static/images/emoji/small_orange_diamond.png b/web/static/images/emoji/small_orange_diamond.png Binary files differindex 04941d37b..64a03b216 100755..100644 --- a/web/static/images/emoji/small_orange_diamond.png +++ b/web/static/images/emoji/small_orange_diamond.png diff --git a/web/static/images/emoji/small_red_triangle.png b/web/static/images/emoji/small_red_triangle.png Binary files differindex 8c4428da8..b321f2a49 100755..100644 --- a/web/static/images/emoji/small_red_triangle.png +++ b/web/static/images/emoji/small_red_triangle.png diff --git a/web/static/images/emoji/small_red_triangle_down.png b/web/static/images/emoji/small_red_triangle_down.png Binary files differindex 94832f060..4c9586d24 100755..100644 --- a/web/static/images/emoji/small_red_triangle_down.png +++ b/web/static/images/emoji/small_red_triangle_down.png diff --git a/web/static/images/emoji/smile.png b/web/static/images/emoji/smile.png Binary files differindex 81a839689..63beffb17 100755..100644 --- a/web/static/images/emoji/smile.png +++ b/web/static/images/emoji/smile.png diff --git a/web/static/images/emoji/smile_cat.png b/web/static/images/emoji/smile_cat.png Binary files differindex ad333ba3b..c54e14b53 100755..100644 --- a/web/static/images/emoji/smile_cat.png +++ b/web/static/images/emoji/smile_cat.png diff --git a/web/static/images/emoji/smiley.png b/web/static/images/emoji/smiley.png Binary files differindex 77b581d68..eb281633c 100755..100644 --- a/web/static/images/emoji/smiley.png +++ b/web/static/images/emoji/smiley.png diff --git a/web/static/images/emoji/smiley_cat.png b/web/static/images/emoji/smiley_cat.png Binary files differindex dbf1b0276..93872133e 100755..100644 --- a/web/static/images/emoji/smiley_cat.png +++ b/web/static/images/emoji/smiley_cat.png diff --git a/web/static/images/emoji/smiling_imp.png b/web/static/images/emoji/smiling_imp.png Binary files differindex d90404930..6e36a04e7 100755..100644 --- a/web/static/images/emoji/smiling_imp.png +++ b/web/static/images/emoji/smiling_imp.png diff --git a/web/static/images/emoji/smirk.png b/web/static/images/emoji/smirk.png Binary files differindex bc6e5082c..c7b1ac127 100755..100644 --- a/web/static/images/emoji/smirk.png +++ b/web/static/images/emoji/smirk.png diff --git a/web/static/images/emoji/smirk_cat.png b/web/static/images/emoji/smirk_cat.png Binary files differindex 351565e24..6cb9d069d 100755..100644 --- a/web/static/images/emoji/smirk_cat.png +++ b/web/static/images/emoji/smirk_cat.png diff --git a/web/static/images/emoji/smoking.png b/web/static/images/emoji/smoking.png Binary files differindex 4aad6cbd7..e8b49b893 100755..100644 --- a/web/static/images/emoji/smoking.png +++ b/web/static/images/emoji/smoking.png diff --git a/web/static/images/emoji/snail.png b/web/static/images/emoji/snail.png Binary files differindex e75e69a84..97f67fb2d 100755..100644 --- a/web/static/images/emoji/snail.png +++ b/web/static/images/emoji/snail.png diff --git a/web/static/images/emoji/snake.png b/web/static/images/emoji/snake.png Binary files differindex ef58933e2..dae731e22 100755..100644 --- a/web/static/images/emoji/snake.png +++ b/web/static/images/emoji/snake.png diff --git a/web/static/images/emoji/snow_capped_mountain.png b/web/static/images/emoji/snow_capped_mountain.png Binary files differnew file mode 100644 index 000000000..f9071adec --- /dev/null +++ b/web/static/images/emoji/snow_capped_mountain.png diff --git a/web/static/images/emoji/snow_cloud.png b/web/static/images/emoji/snow_cloud.png Binary files differnew file mode 100644 index 000000000..96baf5b54 --- /dev/null +++ b/web/static/images/emoji/snow_cloud.png diff --git a/web/static/images/emoji/snowboarder.png b/web/static/images/emoji/snowboarder.png Binary files differindex aeda5c8d8..076c48889 100755..100644 --- a/web/static/images/emoji/snowboarder.png +++ b/web/static/images/emoji/snowboarder.png diff --git a/web/static/images/emoji/snowflake.png b/web/static/images/emoji/snowflake.png Binary files differindex 54b68ff4f..743b9fd98 100755..100644 --- a/web/static/images/emoji/snowflake.png +++ b/web/static/images/emoji/snowflake.png diff --git a/web/static/images/emoji/snowman.png b/web/static/images/emoji/snowman.png Binary files differindex a97902e53..5cfd23ec0 100755..100644 --- a/web/static/images/emoji/snowman.png +++ b/web/static/images/emoji/snowman.png diff --git a/web/static/images/emoji/sob.png b/web/static/images/emoji/sob.png Binary files differindex 1561df92e..1339cc6ec 100755..100644 --- a/web/static/images/emoji/sob.png +++ b/web/static/images/emoji/sob.png diff --git a/web/static/images/emoji/soccer.png b/web/static/images/emoji/soccer.png Binary files differindex 1e118b5b1..a5b188cef 100755..100644 --- a/web/static/images/emoji/soccer.png +++ b/web/static/images/emoji/soccer.png diff --git a/web/static/images/emoji/soon.png b/web/static/images/emoji/soon.png Binary files differindex 2cf46df25..c795ce03f 100755..100644 --- a/web/static/images/emoji/soon.png +++ b/web/static/images/emoji/soon.png diff --git a/web/static/images/emoji/sos.png b/web/static/images/emoji/sos.png Binary files differindex e3e16ef73..4af944919 100755..100644 --- a/web/static/images/emoji/sos.png +++ b/web/static/images/emoji/sos.png diff --git a/web/static/images/emoji/sound.png b/web/static/images/emoji/sound.png Binary files differindex 6aa4dbff4..0d7011bcb 100755..100644 --- a/web/static/images/emoji/sound.png +++ b/web/static/images/emoji/sound.png diff --git a/web/static/images/emoji/space_invader.png b/web/static/images/emoji/space_invader.png Binary files differindex 384049167..042bc2ad0 100755..100644 --- a/web/static/images/emoji/space_invader.png +++ b/web/static/images/emoji/space_invader.png diff --git a/web/static/images/emoji/spades.png b/web/static/images/emoji/spades.png Binary files differindex 133a1aba8..1cb4bea46 100755..100644 --- a/web/static/images/emoji/spades.png +++ b/web/static/images/emoji/spades.png diff --git a/web/static/images/emoji/spaghetti.png b/web/static/images/emoji/spaghetti.png Binary files differindex 08de243f5..ff15e877a 100755..100644 --- a/web/static/images/emoji/spaghetti.png +++ b/web/static/images/emoji/spaghetti.png diff --git a/web/static/images/emoji/sparkle.png b/web/static/images/emoji/sparkle.png Binary files differindex 23a68ceb2..cb37090c7 100755..100644 --- a/web/static/images/emoji/sparkle.png +++ b/web/static/images/emoji/sparkle.png diff --git a/web/static/images/emoji/sparkler.png b/web/static/images/emoji/sparkler.png Binary files differindex 4aabd7e0e..968a7172b 100755..100644 --- a/web/static/images/emoji/sparkler.png +++ b/web/static/images/emoji/sparkler.png diff --git a/web/static/images/emoji/sparkles.png b/web/static/images/emoji/sparkles.png Binary files differindex 51307bcfc..f7faa7270 100755..100644 --- a/web/static/images/emoji/sparkles.png +++ b/web/static/images/emoji/sparkles.png diff --git a/web/static/images/emoji/sparkling_heart.png b/web/static/images/emoji/sparkling_heart.png Binary files differindex 64ac06663..0bfffc4ca 100755..100644 --- a/web/static/images/emoji/sparkling_heart.png +++ b/web/static/images/emoji/sparkling_heart.png diff --git a/web/static/images/emoji/speak_no_evil.png b/web/static/images/emoji/speak_no_evil.png Binary files differindex 87944c4de..c6f76937f 100755..100644 --- a/web/static/images/emoji/speak_no_evil.png +++ b/web/static/images/emoji/speak_no_evil.png diff --git a/web/static/images/emoji/speaker.png b/web/static/images/emoji/speaker.png Binary files differindex 470476e18..38d5ee391 100755..100644 --- a/web/static/images/emoji/speaker.png +++ b/web/static/images/emoji/speaker.png diff --git a/web/static/images/emoji/speaking_head_in_silhouette.png b/web/static/images/emoji/speaking_head_in_silhouette.png Binary files differnew file mode 100644 index 000000000..137a3c4c5 --- /dev/null +++ b/web/static/images/emoji/speaking_head_in_silhouette.png diff --git a/web/static/images/emoji/speech_balloon.png b/web/static/images/emoji/speech_balloon.png Binary files differindex 2896c2788..4f6449572 100755..100644 --- a/web/static/images/emoji/speech_balloon.png +++ b/web/static/images/emoji/speech_balloon.png diff --git a/web/static/images/emoji/speedboat.png b/web/static/images/emoji/speedboat.png Binary files differindex da6689b3b..a6b11a72e 100755..100644 --- a/web/static/images/emoji/speedboat.png +++ b/web/static/images/emoji/speedboat.png diff --git a/web/static/images/emoji/spider.png b/web/static/images/emoji/spider.png Binary files differnew file mode 100644 index 000000000..9e1fe5441 --- /dev/null +++ b/web/static/images/emoji/spider.png diff --git a/web/static/images/emoji/spider_web.png b/web/static/images/emoji/spider_web.png Binary files differnew file mode 100644 index 000000000..edad19093 --- /dev/null +++ b/web/static/images/emoji/spider_web.png diff --git a/web/static/images/emoji/spiral_calendar_pad.png b/web/static/images/emoji/spiral_calendar_pad.png Binary files differnew file mode 100644 index 000000000..ce73aecfa --- /dev/null +++ b/web/static/images/emoji/spiral_calendar_pad.png diff --git a/web/static/images/emoji/spiral_note_pad.png b/web/static/images/emoji/spiral_note_pad.png Binary files differnew file mode 100644 index 000000000..28bc54348 --- /dev/null +++ b/web/static/images/emoji/spiral_note_pad.png diff --git a/web/static/images/emoji/spock-hand.png b/web/static/images/emoji/spock-hand.png Binary files differnew file mode 100644 index 000000000..88e8765e0 --- /dev/null +++ b/web/static/images/emoji/spock-hand.png diff --git a/web/static/images/emoji/sports_medal.png b/web/static/images/emoji/sports_medal.png Binary files differnew file mode 100644 index 000000000..1bf04b7c4 --- /dev/null +++ b/web/static/images/emoji/sports_medal.png diff --git a/web/static/images/emoji/squirrel.png b/web/static/images/emoji/squirrel.png Binary files differindex a58a47f62..a58a47f62 100755..100644 --- a/web/static/images/emoji/squirrel.png +++ b/web/static/images/emoji/squirrel.png diff --git a/web/static/images/emoji/stadium.png b/web/static/images/emoji/stadium.png Binary files differnew file mode 100644 index 000000000..d1c925d35 --- /dev/null +++ b/web/static/images/emoji/stadium.png diff --git a/web/static/images/emoji/star.png b/web/static/images/emoji/star.png Binary files differindex 1bfddc862..00f6758a2 100755..100644 --- a/web/static/images/emoji/star.png +++ b/web/static/images/emoji/star.png diff --git a/web/static/images/emoji/star2.png b/web/static/images/emoji/star2.png Binary files differindex 8b40ff4c8..6399b9335 100755..100644 --- a/web/static/images/emoji/star2.png +++ b/web/static/images/emoji/star2.png diff --git a/web/static/images/emoji/stars.png b/web/static/images/emoji/stars.png Binary files differindex 097a84241..115748007 100755..100644 --- a/web/static/images/emoji/stars.png +++ b/web/static/images/emoji/stars.png diff --git a/web/static/images/emoji/station.png b/web/static/images/emoji/station.png Binary files differindex e77daa8a7..970d2799d 100755..100644 --- a/web/static/images/emoji/station.png +++ b/web/static/images/emoji/station.png diff --git a/web/static/images/emoji/statue_of_liberty.png b/web/static/images/emoji/statue_of_liberty.png Binary files differindex 9ad902806..709fd6bff 100755..100644 --- a/web/static/images/emoji/statue_of_liberty.png +++ b/web/static/images/emoji/statue_of_liberty.png diff --git a/web/static/images/emoji/steam_locomotive.png b/web/static/images/emoji/steam_locomotive.png Binary files differindex 549507766..f7c52db71 100755..100644 --- a/web/static/images/emoji/steam_locomotive.png +++ b/web/static/images/emoji/steam_locomotive.png diff --git a/web/static/images/emoji/stew.png b/web/static/images/emoji/stew.png Binary files differindex e9687f9ec..6f8305338 100755..100644 --- a/web/static/images/emoji/stew.png +++ b/web/static/images/emoji/stew.png diff --git a/web/static/images/emoji/straight_ruler.png b/web/static/images/emoji/straight_ruler.png Binary files differindex d96658ea1..42e7ac39c 100755..100644 --- a/web/static/images/emoji/straight_ruler.png +++ b/web/static/images/emoji/straight_ruler.png diff --git a/web/static/images/emoji/strawberry.png b/web/static/images/emoji/strawberry.png Binary files differindex 13eb827ab..b28837732 100755..100644 --- a/web/static/images/emoji/strawberry.png +++ b/web/static/images/emoji/strawberry.png diff --git a/web/static/images/emoji/stuck_out_tongue.png b/web/static/images/emoji/stuck_out_tongue.png Binary files differindex fa7b58e23..3fa455255 100755..100644 --- a/web/static/images/emoji/stuck_out_tongue.png +++ b/web/static/images/emoji/stuck_out_tongue.png diff --git a/web/static/images/emoji/stuck_out_tongue_closed_eyes.png b/web/static/images/emoji/stuck_out_tongue_closed_eyes.png Binary files differindex 333716ee1..b599a5f57 100755..100644 --- a/web/static/images/emoji/stuck_out_tongue_closed_eyes.png +++ b/web/static/images/emoji/stuck_out_tongue_closed_eyes.png diff --git a/web/static/images/emoji/stuck_out_tongue_winking_eye.png b/web/static/images/emoji/stuck_out_tongue_winking_eye.png Binary files differindex 6ae9d497d..a93847556 100755..100644 --- a/web/static/images/emoji/stuck_out_tongue_winking_eye.png +++ b/web/static/images/emoji/stuck_out_tongue_winking_eye.png diff --git a/web/static/images/emoji/studio_microphone.png b/web/static/images/emoji/studio_microphone.png Binary files differnew file mode 100644 index 000000000..7e186826e --- /dev/null +++ b/web/static/images/emoji/studio_microphone.png diff --git a/web/static/images/emoji/sun_with_face.png b/web/static/images/emoji/sun_with_face.png Binary files differindex ee276636f..7ee45e4dd 100755..100644 --- a/web/static/images/emoji/sun_with_face.png +++ b/web/static/images/emoji/sun_with_face.png diff --git a/web/static/images/emoji/sunflower.png b/web/static/images/emoji/sunflower.png Binary files differindex d9bad194a..b7cfbf82b 100755..100644 --- a/web/static/images/emoji/sunflower.png +++ b/web/static/images/emoji/sunflower.png diff --git a/web/static/images/emoji/sunglasses.png b/web/static/images/emoji/sunglasses.png Binary files differindex f2e524787..6d97948de 100755..100644 --- a/web/static/images/emoji/sunglasses.png +++ b/web/static/images/emoji/sunglasses.png diff --git a/web/static/images/emoji/sunny.png b/web/static/images/emoji/sunny.png Binary files differindex d23c095e0..d4f88fb8b 100755..100644 --- a/web/static/images/emoji/sunny.png +++ b/web/static/images/emoji/sunny.png diff --git a/web/static/images/emoji/sunrise.png b/web/static/images/emoji/sunrise.png Binary files differindex ec58dcc94..4bcc4a8ac 100755..100644 --- a/web/static/images/emoji/sunrise.png +++ b/web/static/images/emoji/sunrise.png diff --git a/web/static/images/emoji/sunrise_over_mountains.png b/web/static/images/emoji/sunrise_over_mountains.png Binary files differindex ebc3db146..f8527646e 100755..100644 --- a/web/static/images/emoji/sunrise_over_mountains.png +++ b/web/static/images/emoji/sunrise_over_mountains.png diff --git a/web/static/images/emoji/surfer.png b/web/static/images/emoji/surfer.png Binary files differindex b067e8cb3..74b216a67 100755..100644 --- a/web/static/images/emoji/surfer.png +++ b/web/static/images/emoji/surfer.png diff --git a/web/static/images/emoji/sushi.png b/web/static/images/emoji/sushi.png Binary files differindex 0d179bd97..8c2f6826e 100755..100644 --- a/web/static/images/emoji/sushi.png +++ b/web/static/images/emoji/sushi.png diff --git a/web/static/images/emoji/suspect.png b/web/static/images/emoji/suspect.png Binary files differindex 58e8921c0..58e8921c0 100755..100644 --- a/web/static/images/emoji/suspect.png +++ b/web/static/images/emoji/suspect.png diff --git a/web/static/images/emoji/suspension_railway.png b/web/static/images/emoji/suspension_railway.png Binary files differindex aaa45f61f..595e9b160 100755..100644 --- a/web/static/images/emoji/suspension_railway.png +++ b/web/static/images/emoji/suspension_railway.png diff --git a/web/static/images/emoji/sweat.png b/web/static/images/emoji/sweat.png Binary files differindex e894b7699..1c590918c 100755..100644 --- a/web/static/images/emoji/sweat.png +++ b/web/static/images/emoji/sweat.png diff --git a/web/static/images/emoji/sweat_drops.png b/web/static/images/emoji/sweat_drops.png Binary files differindex a83b3e960..81205fb52 100755..100644 --- a/web/static/images/emoji/sweat_drops.png +++ b/web/static/images/emoji/sweat_drops.png diff --git a/web/static/images/emoji/sweat_smile.png b/web/static/images/emoji/sweat_smile.png Binary files differindex 3903f717f..691ffa771 100755..100644 --- a/web/static/images/emoji/sweat_smile.png +++ b/web/static/images/emoji/sweat_smile.png diff --git a/web/static/images/emoji/sweet_potato.png b/web/static/images/emoji/sweet_potato.png Binary files differindex cde7880a1..7c60e76cb 100755..100644 --- a/web/static/images/emoji/sweet_potato.png +++ b/web/static/images/emoji/sweet_potato.png diff --git a/web/static/images/emoji/swimmer.png b/web/static/images/emoji/swimmer.png Binary files differindex d3878a065..9f3e63702 100755..100644 --- a/web/static/images/emoji/swimmer.png +++ b/web/static/images/emoji/swimmer.png diff --git a/web/static/images/emoji/symbols.png b/web/static/images/emoji/symbols.png Binary files differindex 16bc1da92..f1cdcb734 100755..100644 --- a/web/static/images/emoji/symbols.png +++ b/web/static/images/emoji/symbols.png diff --git a/web/static/images/emoji/syringe.png b/web/static/images/emoji/syringe.png Binary files differindex 36aa8fed5..1e7f23ebf 100755..100644 --- a/web/static/images/emoji/syringe.png +++ b/web/static/images/emoji/syringe.png diff --git a/web/static/images/emoji/tada.png b/web/static/images/emoji/tada.png Binary files differindex 7411b5266..003a66996 100755..100644 --- a/web/static/images/emoji/tada.png +++ b/web/static/images/emoji/tada.png diff --git a/web/static/images/emoji/tanabata_tree.png b/web/static/images/emoji/tanabata_tree.png Binary files differindex 6dea4b2d4..ec7d8cc22 100755..100644 --- a/web/static/images/emoji/tanabata_tree.png +++ b/web/static/images/emoji/tanabata_tree.png diff --git a/web/static/images/emoji/tangerine.png b/web/static/images/emoji/tangerine.png Binary files differindex fc9d4f82a..7cb15fcf7 100755..100644 --- a/web/static/images/emoji/tangerine.png +++ b/web/static/images/emoji/tangerine.png diff --git a/web/static/images/emoji/taurus.png b/web/static/images/emoji/taurus.png Binary files differindex 6af582f69..3d3434ccf 100755..100644 --- a/web/static/images/emoji/taurus.png +++ b/web/static/images/emoji/taurus.png diff --git a/web/static/images/emoji/taxi.png b/web/static/images/emoji/taxi.png Binary files differindex 60a50d365..1b9af967a 100755..100644 --- a/web/static/images/emoji/taxi.png +++ b/web/static/images/emoji/taxi.png diff --git a/web/static/images/emoji/tea.png b/web/static/images/emoji/tea.png Binary files differindex 3ece0b708..b8d25a962 100755..100644 --- a/web/static/images/emoji/tea.png +++ b/web/static/images/emoji/tea.png diff --git a/web/static/images/emoji/telephone.png b/web/static/images/emoji/telephone.png Binary files differindex 87d2559b5..6a14f1bfe 100755..100644 --- a/web/static/images/emoji/telephone.png +++ b/web/static/images/emoji/telephone.png diff --git a/web/static/images/emoji/telephone_receiver.png b/web/static/images/emoji/telephone_receiver.png Binary files differindex 36e21e012..6a8259cb7 100755..100644 --- a/web/static/images/emoji/telephone_receiver.png +++ b/web/static/images/emoji/telephone_receiver.png diff --git a/web/static/images/emoji/telescope.png b/web/static/images/emoji/telescope.png Binary files differindex 98e57558a..8fc07d50f 100755..100644 --- a/web/static/images/emoji/telescope.png +++ b/web/static/images/emoji/telescope.png diff --git a/web/static/images/emoji/tennis.png b/web/static/images/emoji/tennis.png Binary files differindex 278d904ee..cade3a566 100755..100644 --- a/web/static/images/emoji/tennis.png +++ b/web/static/images/emoji/tennis.png diff --git a/web/static/images/emoji/tent.png b/web/static/images/emoji/tent.png Binary files differindex 5c0d20e48..db3101b4a 100755..100644 --- a/web/static/images/emoji/tent.png +++ b/web/static/images/emoji/tent.png diff --git a/web/static/images/emoji/thermometer.png b/web/static/images/emoji/thermometer.png Binary files differnew file mode 100644 index 000000000..5afccacd5 --- /dev/null +++ b/web/static/images/emoji/thermometer.png diff --git a/web/static/images/emoji/thought_balloon.png b/web/static/images/emoji/thought_balloon.png Binary files differindex febe30d05..0ccbc2e30 100755..100644 --- a/web/static/images/emoji/thought_balloon.png +++ b/web/static/images/emoji/thought_balloon.png diff --git a/web/static/images/emoji/three.png b/web/static/images/emoji/three.png Binary files differindex 55644c990..96ac84050 100755..100644 --- a/web/static/images/emoji/three.png +++ b/web/static/images/emoji/three.png diff --git a/web/static/images/emoji/thumbsdown.png b/web/static/images/emoji/thumbsdown.png Binary files differindex 41c6b825d..9b6d251b5 100755..100644 --- a/web/static/images/emoji/thumbsdown.png +++ b/web/static/images/emoji/thumbsdown.png diff --git a/web/static/images/emoji/thumbsup.png b/web/static/images/emoji/thumbsup.png Binary files differindex 81786c1d8..26949329f 100755..100644 --- a/web/static/images/emoji/thumbsup.png +++ b/web/static/images/emoji/thumbsup.png diff --git a/web/static/images/emoji/ticket.png b/web/static/images/emoji/ticket.png Binary files differindex cdacf1a70..1e697cab6 100755..100644 --- a/web/static/images/emoji/ticket.png +++ b/web/static/images/emoji/ticket.png diff --git a/web/static/images/emoji/tiger.png b/web/static/images/emoji/tiger.png Binary files differindex d6cc84a3b..64a19cd61 100755..100644 --- a/web/static/images/emoji/tiger.png +++ b/web/static/images/emoji/tiger.png diff --git a/web/static/images/emoji/tiger2.png b/web/static/images/emoji/tiger2.png Binary files differindex b0c7d8dc3..c7910315e 100755..100644 --- a/web/static/images/emoji/tiger2.png +++ b/web/static/images/emoji/tiger2.png diff --git a/web/static/images/emoji/tired_face.png b/web/static/images/emoji/tired_face.png Binary files differindex 77b783453..adf5fa0fc 100755..100644 --- a/web/static/images/emoji/tired_face.png +++ b/web/static/images/emoji/tired_face.png diff --git a/web/static/images/emoji/tm.png b/web/static/images/emoji/tm.png Binary files differindex c7dec75a3..0ddad3d83 100755..100644 --- a/web/static/images/emoji/tm.png +++ b/web/static/images/emoji/tm.png diff --git a/web/static/images/emoji/toilet.png b/web/static/images/emoji/toilet.png Binary files differindex e5cc4119a..6cf5255d5 100755..100644 --- a/web/static/images/emoji/toilet.png +++ b/web/static/images/emoji/toilet.png diff --git a/web/static/images/emoji/tokyo_tower.png b/web/static/images/emoji/tokyo_tower.png Binary files differindex e1cbd7a3c..8833f08a5 100755..100644 --- a/web/static/images/emoji/tokyo_tower.png +++ b/web/static/images/emoji/tokyo_tower.png diff --git a/web/static/images/emoji/tomato.png b/web/static/images/emoji/tomato.png Binary files differindex a129700bb..4114c35ff 100755..100644 --- a/web/static/images/emoji/tomato.png +++ b/web/static/images/emoji/tomato.png diff --git a/web/static/images/emoji/tongue.png b/web/static/images/emoji/tongue.png Binary files differindex b0bab1207..67ea886c6 100755..100644 --- a/web/static/images/emoji/tongue.png +++ b/web/static/images/emoji/tongue.png diff --git a/web/static/images/emoji/top.png b/web/static/images/emoji/top.png Binary files differindex 5aa4dd442..5c6eb3c52 100755..100644 --- a/web/static/images/emoji/top.png +++ b/web/static/images/emoji/top.png diff --git a/web/static/images/emoji/tophat.png b/web/static/images/emoji/tophat.png Binary files differindex 7d27134d6..a945ccb8b 100755..100644 --- a/web/static/images/emoji/tophat.png +++ b/web/static/images/emoji/tophat.png diff --git a/web/static/images/emoji/tornado.png b/web/static/images/emoji/tornado.png Binary files differnew file mode 100644 index 000000000..a0ce6d55a --- /dev/null +++ b/web/static/images/emoji/tornado.png diff --git a/web/static/images/emoji/tornado_cloud.png b/web/static/images/emoji/tornado_cloud.png Binary files differnew file mode 100644 index 000000000..a0ce6d55a --- /dev/null +++ b/web/static/images/emoji/tornado_cloud.png diff --git a/web/static/images/emoji/trackball.png b/web/static/images/emoji/trackball.png Binary files differnew file mode 100644 index 000000000..3ecf9b87b --- /dev/null +++ b/web/static/images/emoji/trackball.png diff --git a/web/static/images/emoji/tractor.png b/web/static/images/emoji/tractor.png Binary files differindex 058fd3eda..fcd4000c5 100755..100644 --- a/web/static/images/emoji/tractor.png +++ b/web/static/images/emoji/tractor.png diff --git a/web/static/images/emoji/traffic_light.png b/web/static/images/emoji/traffic_light.png Binary files differindex 1facb276c..0a7704a26 100755..100644 --- a/web/static/images/emoji/traffic_light.png +++ b/web/static/images/emoji/traffic_light.png diff --git a/web/static/images/emoji/train.png b/web/static/images/emoji/train.png Binary files differindex 3202d80ea..93d810920 100755..100644 --- a/web/static/images/emoji/train.png +++ b/web/static/images/emoji/train.png diff --git a/web/static/images/emoji/train2.png b/web/static/images/emoji/train2.png Binary files differindex 9c0d3ab64..22d843302 100755..100644 --- a/web/static/images/emoji/train2.png +++ b/web/static/images/emoji/train2.png diff --git a/web/static/images/emoji/tram.png b/web/static/images/emoji/tram.png Binary files differindex 5eb29fb71..851cf1827 100755..100644 --- a/web/static/images/emoji/tram.png +++ b/web/static/images/emoji/tram.png diff --git a/web/static/images/emoji/triangular_flag_on_post.png b/web/static/images/emoji/triangular_flag_on_post.png Binary files differindex f9a3f32d7..89a1429a3 100755..100644 --- a/web/static/images/emoji/triangular_flag_on_post.png +++ b/web/static/images/emoji/triangular_flag_on_post.png diff --git a/web/static/images/emoji/triangular_ruler.png b/web/static/images/emoji/triangular_ruler.png Binary files differindex 383677cb7..b554c0625 100755..100644 --- a/web/static/images/emoji/triangular_ruler.png +++ b/web/static/images/emoji/triangular_ruler.png diff --git a/web/static/images/emoji/trident.png b/web/static/images/emoji/trident.png Binary files differindex d79a7b4cc..ae1e0bc88 100755..100644 --- a/web/static/images/emoji/trident.png +++ b/web/static/images/emoji/trident.png diff --git a/web/static/images/emoji/triumph.png b/web/static/images/emoji/triumph.png Binary files differindex 92f93bd10..5d0f2bf16 100755..100644 --- a/web/static/images/emoji/triumph.png +++ b/web/static/images/emoji/triumph.png diff --git a/web/static/images/emoji/trolleybus.png b/web/static/images/emoji/trolleybus.png Binary files differindex b9740a53f..5207d82da 100755..100644 --- a/web/static/images/emoji/trolleybus.png +++ b/web/static/images/emoji/trolleybus.png diff --git a/web/static/images/emoji/trollface.png b/web/static/images/emoji/trollface.png Binary files differindex 119d77e73..119d77e73 100755..100644 --- a/web/static/images/emoji/trollface.png +++ b/web/static/images/emoji/trollface.png diff --git a/web/static/images/emoji/trophy.png b/web/static/images/emoji/trophy.png Binary files differindex 95d3b63f5..38429fe19 100755..100644 --- a/web/static/images/emoji/trophy.png +++ b/web/static/images/emoji/trophy.png diff --git a/web/static/images/emoji/tropical_drink.png b/web/static/images/emoji/tropical_drink.png Binary files differindex 55ca9eeda..34a5a385c 100755..100644 --- a/web/static/images/emoji/tropical_drink.png +++ b/web/static/images/emoji/tropical_drink.png diff --git a/web/static/images/emoji/tropical_fish.png b/web/static/images/emoji/tropical_fish.png Binary files differindex a6d734987..1904f61be 100755..100644 --- a/web/static/images/emoji/tropical_fish.png +++ b/web/static/images/emoji/tropical_fish.png diff --git a/web/static/images/emoji/truck.png b/web/static/images/emoji/truck.png Binary files differindex 3f25ba1f9..ef99f12fb 100755..100644 --- a/web/static/images/emoji/truck.png +++ b/web/static/images/emoji/truck.png diff --git a/web/static/images/emoji/trumpet.png b/web/static/images/emoji/trumpet.png Binary files differindex c84cfb13e..c2270ccbf 100755..100644 --- a/web/static/images/emoji/trumpet.png +++ b/web/static/images/emoji/trumpet.png diff --git a/web/static/images/emoji/tshirt.png b/web/static/images/emoji/tshirt.png Binary files differindex 297a6d63e..556efde26 100755..100644 --- a/web/static/images/emoji/tshirt.png +++ b/web/static/images/emoji/tshirt.png diff --git a/web/static/images/emoji/tulip.png b/web/static/images/emoji/tulip.png Binary files differindex b3ee1102a..a05a51edf 100755..100644 --- a/web/static/images/emoji/tulip.png +++ b/web/static/images/emoji/tulip.png diff --git a/web/static/images/emoji/turtle.png b/web/static/images/emoji/turtle.png Binary files differindex 04d1d9684..c3a628c0a 100755..100644 --- a/web/static/images/emoji/turtle.png +++ b/web/static/images/emoji/turtle.png diff --git a/web/static/images/emoji/tv.png b/web/static/images/emoji/tv.png Binary files differindex 803dc3d41..5318e2dc8 100755..100644 --- a/web/static/images/emoji/tv.png +++ b/web/static/images/emoji/tv.png diff --git a/web/static/images/emoji/twisted_rightwards_arrows.png b/web/static/images/emoji/twisted_rightwards_arrows.png Binary files differindex 25cde18b2..96e03e168 100755..100644 --- a/web/static/images/emoji/twisted_rightwards_arrows.png +++ b/web/static/images/emoji/twisted_rightwards_arrows.png diff --git a/web/static/images/emoji/two.png b/web/static/images/emoji/two.png Binary files differindex c191f8a32..a062ea93a 100755..100644 --- a/web/static/images/emoji/two.png +++ b/web/static/images/emoji/two.png diff --git a/web/static/images/emoji/two_hearts.png b/web/static/images/emoji/two_hearts.png Binary files differindex b189e9aea..48f8d88d2 100755..100644 --- a/web/static/images/emoji/two_hearts.png +++ b/web/static/images/emoji/two_hearts.png diff --git a/web/static/images/emoji/two_men_holding_hands.png b/web/static/images/emoji/two_men_holding_hands.png Binary files differindex d1099f21f..6d223a144 100755..100644 --- a/web/static/images/emoji/two_men_holding_hands.png +++ b/web/static/images/emoji/two_men_holding_hands.png diff --git a/web/static/images/emoji/two_women_holding_hands.png b/web/static/images/emoji/two_women_holding_hands.png Binary files differindex 619646c4e..313e73c7d 100755..100644 --- a/web/static/images/emoji/two_women_holding_hands.png +++ b/web/static/images/emoji/two_women_holding_hands.png diff --git a/web/static/images/emoji/u5272.png b/web/static/images/emoji/u5272.png Binary files differindex 2148253fc..90ed437d9 100755..100644 --- a/web/static/images/emoji/u5272.png +++ b/web/static/images/emoji/u5272.png diff --git a/web/static/images/emoji/u5408.png b/web/static/images/emoji/u5408.png Binary files differindex 03ab0d874..02ff557d0 100755..100644 --- a/web/static/images/emoji/u5408.png +++ b/web/static/images/emoji/u5408.png diff --git a/web/static/images/emoji/u55b6.png b/web/static/images/emoji/u55b6.png Binary files differindex ba946d3f3..091841a03 100755..100644 --- a/web/static/images/emoji/u55b6.png +++ b/web/static/images/emoji/u55b6.png diff --git a/web/static/images/emoji/u6307.png b/web/static/images/emoji/u6307.png Binary files differindex 6557f5672..307d17ad7 100755..100644 --- a/web/static/images/emoji/u6307.png +++ b/web/static/images/emoji/u6307.png diff --git a/web/static/images/emoji/u6708.png b/web/static/images/emoji/u6708.png Binary files differindex e4dfe5aa7..cf85c803b 100755..100644 --- a/web/static/images/emoji/u6708.png +++ b/web/static/images/emoji/u6708.png diff --git a/web/static/images/emoji/u6709.png b/web/static/images/emoji/u6709.png Binary files differindex cd8fb3f62..b592c12ee 100755..100644 --- a/web/static/images/emoji/u6709.png +++ b/web/static/images/emoji/u6709.png diff --git a/web/static/images/emoji/u6e80.png b/web/static/images/emoji/u6e80.png Binary files differindex 5df1cb878..4d03236ff 100755..100644 --- a/web/static/images/emoji/u6e80.png +++ b/web/static/images/emoji/u6e80.png diff --git a/web/static/images/emoji/u7121.png b/web/static/images/emoji/u7121.png Binary files differindex 25f694ed3..5f2982163 100755..100644 --- a/web/static/images/emoji/u7121.png +++ b/web/static/images/emoji/u7121.png diff --git a/web/static/images/emoji/u7533.png b/web/static/images/emoji/u7533.png Binary files differindex fc4a9901b..e2c566183 100755..100644 --- a/web/static/images/emoji/u7533.png +++ b/web/static/images/emoji/u7533.png diff --git a/web/static/images/emoji/u7981.png b/web/static/images/emoji/u7981.png Binary files differindex f550a573d..cc617fed3 100755..100644 --- a/web/static/images/emoji/u7981.png +++ b/web/static/images/emoji/u7981.png diff --git a/web/static/images/emoji/u7a7a.png b/web/static/images/emoji/u7a7a.png Binary files differindex c05f5cff7..3d0922dba 100755..100644 --- a/web/static/images/emoji/u7a7a.png +++ b/web/static/images/emoji/u7a7a.png diff --git a/web/static/images/emoji/uk.png b/web/static/images/emoji/uk.png Binary files differindex 2a62c7a08..61c03f759 100755..100644 --- a/web/static/images/emoji/uk.png +++ b/web/static/images/emoji/uk.png diff --git a/web/static/images/emoji/umbrella.png b/web/static/images/emoji/umbrella.png Binary files differindex 1db722fa6..83672dd6c 100755..100644 --- a/web/static/images/emoji/umbrella.png +++ b/web/static/images/emoji/umbrella.png diff --git a/web/static/images/emoji/unamused.png b/web/static/images/emoji/unamused.png Binary files differindex 3722e6f57..9d406ca65 100755..100644 --- a/web/static/images/emoji/unamused.png +++ b/web/static/images/emoji/unamused.png diff --git a/web/static/images/emoji/underage.png b/web/static/images/emoji/underage.png Binary files differindex a789b3c62..603ce57ea 100755..100644 --- a/web/static/images/emoji/underage.png +++ b/web/static/images/emoji/underage.png diff --git a/web/static/images/emoji/unlock.png b/web/static/images/emoji/unlock.png Binary files differindex 22b429cd0..db05d1b73 100755..100644 --- a/web/static/images/emoji/unlock.png +++ b/web/static/images/emoji/unlock.png diff --git a/web/static/images/emoji/up.png b/web/static/images/emoji/up.png Binary files differindex 829219a86..aa7974ec1 100755..100644 --- a/web/static/images/emoji/up.png +++ b/web/static/images/emoji/up.png diff --git a/web/static/images/emoji/us.png b/web/static/images/emoji/us.png Binary files differindex 38137669a..6c98de9be 100755..100644 --- a/web/static/images/emoji/us.png +++ b/web/static/images/emoji/us.png diff --git a/web/static/images/emoji/v.png b/web/static/images/emoji/v.png Binary files differindex f61267c28..0b7aa52d1 100755..100644 --- a/web/static/images/emoji/v.png +++ b/web/static/images/emoji/v.png diff --git a/web/static/images/emoji/vertical_traffic_light.png b/web/static/images/emoji/vertical_traffic_light.png Binary files differindex 7a5ba35f0..e533edda0 100755..100644 --- a/web/static/images/emoji/vertical_traffic_light.png +++ b/web/static/images/emoji/vertical_traffic_light.png diff --git a/web/static/images/emoji/vhs.png b/web/static/images/emoji/vhs.png Binary files differindex 881081c17..134e3a2c4 100755..100644 --- a/web/static/images/emoji/vhs.png +++ b/web/static/images/emoji/vhs.png diff --git a/web/static/images/emoji/vibration_mode.png b/web/static/images/emoji/vibration_mode.png Binary files differindex a716e96c6..6da565442 100755..100644 --- a/web/static/images/emoji/vibration_mode.png +++ b/web/static/images/emoji/vibration_mode.png diff --git a/web/static/images/emoji/video_camera.png b/web/static/images/emoji/video_camera.png Binary files differindex 274cecdd6..1b3514f8a 100755..100644 --- a/web/static/images/emoji/video_camera.png +++ b/web/static/images/emoji/video_camera.png diff --git a/web/static/images/emoji/video_game.png b/web/static/images/emoji/video_game.png Binary files differindex e265a3bd8..702832e99 100755..100644 --- a/web/static/images/emoji/video_game.png +++ b/web/static/images/emoji/video_game.png diff --git a/web/static/images/emoji/violin.png b/web/static/images/emoji/violin.png Binary files differindex 69347b545..0bb8e0a10 100755..100644 --- a/web/static/images/emoji/violin.png +++ b/web/static/images/emoji/violin.png diff --git a/web/static/images/emoji/virgo.png b/web/static/images/emoji/virgo.png Binary files differindex 72e1763f5..238424313 100755..100644 --- a/web/static/images/emoji/virgo.png +++ b/web/static/images/emoji/virgo.png diff --git a/web/static/images/emoji/volcano.png b/web/static/images/emoji/volcano.png Binary files differindex 9b434539b..5f2c292f0 100755..100644 --- a/web/static/images/emoji/volcano.png +++ b/web/static/images/emoji/volcano.png diff --git a/web/static/images/emoji/vs.png b/web/static/images/emoji/vs.png Binary files differindex 863638850..327337277 100755..100644 --- a/web/static/images/emoji/vs.png +++ b/web/static/images/emoji/vs.png diff --git a/web/static/images/emoji/walking.png b/web/static/images/emoji/walking.png Binary files differindex 52bc0381c..174c4d0e2 100755..100644 --- a/web/static/images/emoji/walking.png +++ b/web/static/images/emoji/walking.png diff --git a/web/static/images/emoji/waning_crescent_moon.png b/web/static/images/emoji/waning_crescent_moon.png Binary files differindex 30387780f..f9ab41111 100755..100644 --- a/web/static/images/emoji/waning_crescent_moon.png +++ b/web/static/images/emoji/waning_crescent_moon.png diff --git a/web/static/images/emoji/waning_gibbous_moon.png b/web/static/images/emoji/waning_gibbous_moon.png Binary files differindex 510099070..3b9240298 100755..100644 --- a/web/static/images/emoji/waning_gibbous_moon.png +++ b/web/static/images/emoji/waning_gibbous_moon.png diff --git a/web/static/images/emoji/warning.png b/web/static/images/emoji/warning.png Binary files differindex db6f96f02..8a5dd577a 100755..100644 --- a/web/static/images/emoji/warning.png +++ b/web/static/images/emoji/warning.png diff --git a/web/static/images/emoji/wastebasket.png b/web/static/images/emoji/wastebasket.png Binary files differnew file mode 100644 index 000000000..3baef5973 --- /dev/null +++ b/web/static/images/emoji/wastebasket.png diff --git a/web/static/images/emoji/watch.png b/web/static/images/emoji/watch.png Binary files differindex d503bb87c..50f16588a 100755..100644 --- a/web/static/images/emoji/watch.png +++ b/web/static/images/emoji/watch.png diff --git a/web/static/images/emoji/water_buffalo.png b/web/static/images/emoji/water_buffalo.png Binary files differindex 3bcde3edd..2c8fa68e8 100755..100644 --- a/web/static/images/emoji/water_buffalo.png +++ b/web/static/images/emoji/water_buffalo.png diff --git a/web/static/images/emoji/watermelon.png b/web/static/images/emoji/watermelon.png Binary files differindex fc212be78..5125aea3e 100755..100644 --- a/web/static/images/emoji/watermelon.png +++ b/web/static/images/emoji/watermelon.png diff --git a/web/static/images/emoji/wave.png b/web/static/images/emoji/wave.png Binary files differindex 56e6e822b..8a7086bd0 100755..100644 --- a/web/static/images/emoji/wave.png +++ b/web/static/images/emoji/wave.png diff --git a/web/static/images/emoji/waving_black_flag.png b/web/static/images/emoji/waving_black_flag.png Binary files differnew file mode 100644 index 000000000..d48e98fe0 --- /dev/null +++ b/web/static/images/emoji/waving_black_flag.png diff --git a/web/static/images/emoji/waving_white_flag.png b/web/static/images/emoji/waving_white_flag.png Binary files differnew file mode 100644 index 000000000..bf6124fab --- /dev/null +++ b/web/static/images/emoji/waving_white_flag.png diff --git a/web/static/images/emoji/wavy_dash.png b/web/static/images/emoji/wavy_dash.png Binary files differindex 5a74e5c7a..3b346827b 100755..100644 --- a/web/static/images/emoji/wavy_dash.png +++ b/web/static/images/emoji/wavy_dash.png diff --git a/web/static/images/emoji/waxing_crescent_moon.png b/web/static/images/emoji/waxing_crescent_moon.png Binary files differindex c8f13dd31..7d4b5a056 100755..100644 --- a/web/static/images/emoji/waxing_crescent_moon.png +++ b/web/static/images/emoji/waxing_crescent_moon.png diff --git a/web/static/images/emoji/waxing_gibbous_moon.png b/web/static/images/emoji/waxing_gibbous_moon.png Binary files differindex 54e7ec671..b53fd4288 100755..100644 --- a/web/static/images/emoji/waxing_gibbous_moon.png +++ b/web/static/images/emoji/waxing_gibbous_moon.png diff --git a/web/static/images/emoji/wc.png b/web/static/images/emoji/wc.png Binary files differindex dfe84d2a7..b153f2c2a 100755..100644 --- a/web/static/images/emoji/wc.png +++ b/web/static/images/emoji/wc.png diff --git a/web/static/images/emoji/weary.png b/web/static/images/emoji/weary.png Binary files differindex 0c5475411..1c18789e8 100755..100644 --- a/web/static/images/emoji/weary.png +++ b/web/static/images/emoji/weary.png diff --git a/web/static/images/emoji/wedding.png b/web/static/images/emoji/wedding.png Binary files differindex ead19d52c..dda4a140f 100755..100644 --- a/web/static/images/emoji/wedding.png +++ b/web/static/images/emoji/wedding.png diff --git a/web/static/images/emoji/weight_lifter.png b/web/static/images/emoji/weight_lifter.png Binary files differnew file mode 100644 index 000000000..db6bb3d51 --- /dev/null +++ b/web/static/images/emoji/weight_lifter.png diff --git a/web/static/images/emoji/whale.png b/web/static/images/emoji/whale.png Binary files differindex 5bb113e42..cf1ecee86 100755..100644 --- a/web/static/images/emoji/whale.png +++ b/web/static/images/emoji/whale.png diff --git a/web/static/images/emoji/whale2.png b/web/static/images/emoji/whale2.png Binary files differindex 0ef4ea94f..181860530 100755..100644 --- a/web/static/images/emoji/whale2.png +++ b/web/static/images/emoji/whale2.png diff --git a/web/static/images/emoji/wheelchair.png b/web/static/images/emoji/wheelchair.png Binary files differindex eddcdd797..638696ca9 100755..100644 --- a/web/static/images/emoji/wheelchair.png +++ b/web/static/images/emoji/wheelchair.png diff --git a/web/static/images/emoji/white_check_mark.png b/web/static/images/emoji/white_check_mark.png Binary files differindex 61dc0583c..241a4f6f9 100755..100644 --- a/web/static/images/emoji/white_check_mark.png +++ b/web/static/images/emoji/white_check_mark.png diff --git a/web/static/images/emoji/white_circle.png b/web/static/images/emoji/white_circle.png Binary files differindex 3f648d1bd..84e8a43a2 100755..100644 --- a/web/static/images/emoji/white_circle.png +++ b/web/static/images/emoji/white_circle.png diff --git a/web/static/images/emoji/white_flower.png b/web/static/images/emoji/white_flower.png Binary files differindex c0929d0dd..6d1c47e91 100755..100644 --- a/web/static/images/emoji/white_flower.png +++ b/web/static/images/emoji/white_flower.png diff --git a/web/static/images/emoji/white_large_square.png b/web/static/images/emoji/white_large_square.png Binary files differindex 60cb19a13..2f6071f06 100755..100644 --- a/web/static/images/emoji/white_large_square.png +++ b/web/static/images/emoji/white_large_square.png diff --git a/web/static/images/emoji/white_medium_small_square.png b/web/static/images/emoji/white_medium_small_square.png Binary files differindex a115cdc49..7a34786e8 100755..100644 --- a/web/static/images/emoji/white_medium_small_square.png +++ b/web/static/images/emoji/white_medium_small_square.png diff --git a/web/static/images/emoji/white_medium_square.png b/web/static/images/emoji/white_medium_square.png Binary files differindex 199808bcf..f3c39550f 100755..100644 --- a/web/static/images/emoji/white_medium_square.png +++ b/web/static/images/emoji/white_medium_square.png diff --git a/web/static/images/emoji/white_small_square.png b/web/static/images/emoji/white_small_square.png Binary files differindex 24ba879f4..5b115d325 100755..100644 --- a/web/static/images/emoji/white_small_square.png +++ b/web/static/images/emoji/white_small_square.png diff --git a/web/static/images/emoji/white_square_button.png b/web/static/images/emoji/white_square_button.png Binary files differindex ad54d55c0..df974d948 100755..100644 --- a/web/static/images/emoji/white_square_button.png +++ b/web/static/images/emoji/white_square_button.png diff --git a/web/static/images/emoji/wind_blowing_face.png b/web/static/images/emoji/wind_blowing_face.png Binary files differnew file mode 100644 index 000000000..1586cb2cd --- /dev/null +++ b/web/static/images/emoji/wind_blowing_face.png diff --git a/web/static/images/emoji/wind_chime.png b/web/static/images/emoji/wind_chime.png Binary files differindex efacf5dd4..8aee0e8bd 100755..100644 --- a/web/static/images/emoji/wind_chime.png +++ b/web/static/images/emoji/wind_chime.png diff --git a/web/static/images/emoji/wine_glass.png b/web/static/images/emoji/wine_glass.png Binary files differindex 82b0f0005..7aea60cc8 100755..100644 --- a/web/static/images/emoji/wine_glass.png +++ b/web/static/images/emoji/wine_glass.png diff --git a/web/static/images/emoji/wink.png b/web/static/images/emoji/wink.png Binary files differindex 756766dd3..d2ae627f7 100755..100644 --- a/web/static/images/emoji/wink.png +++ b/web/static/images/emoji/wink.png diff --git a/web/static/images/emoji/wolf.png b/web/static/images/emoji/wolf.png Binary files differindex c60c96895..46f054c62 100755..100644 --- a/web/static/images/emoji/wolf.png +++ b/web/static/images/emoji/wolf.png diff --git a/web/static/images/emoji/woman.png b/web/static/images/emoji/woman.png Binary files differindex 6bf0d2b12..72f7d61e2 100755..100644 --- a/web/static/images/emoji/woman.png +++ b/web/static/images/emoji/woman.png diff --git a/web/static/images/emoji/womans_clothes.png b/web/static/images/emoji/womans_clothes.png Binary files differindex aa297c7b6..1a5494267 100755..100644 --- a/web/static/images/emoji/womans_clothes.png +++ b/web/static/images/emoji/womans_clothes.png diff --git a/web/static/images/emoji/womans_hat.png b/web/static/images/emoji/womans_hat.png Binary files differindex 4cb2e6a69..33af561b3 100755..100644 --- a/web/static/images/emoji/womans_hat.png +++ b/web/static/images/emoji/womans_hat.png diff --git a/web/static/images/emoji/womens.png b/web/static/images/emoji/womens.png Binary files differindex 2fab29660..57a510e34 100755..100644 --- a/web/static/images/emoji/womens.png +++ b/web/static/images/emoji/womens.png diff --git a/web/static/images/emoji/world_map.png b/web/static/images/emoji/world_map.png Binary files differnew file mode 100644 index 000000000..799747f8f --- /dev/null +++ b/web/static/images/emoji/world_map.png diff --git a/web/static/images/emoji/worried.png b/web/static/images/emoji/worried.png Binary files differindex bfa1856c0..c26a5f5a4 100755..100644 --- a/web/static/images/emoji/worried.png +++ b/web/static/images/emoji/worried.png diff --git a/web/static/images/emoji/wrench.png b/web/static/images/emoji/wrench.png Binary files differindex a87072ad1..64a0d6a76 100755..100644 --- a/web/static/images/emoji/wrench.png +++ b/web/static/images/emoji/wrench.png diff --git a/web/static/images/emoji/x.png b/web/static/images/emoji/x.png Binary files differindex dff9efa8b..18de93090 100755..100644 --- a/web/static/images/emoji/x.png +++ b/web/static/images/emoji/x.png diff --git a/web/static/images/emoji/yellow_heart.png b/web/static/images/emoji/yellow_heart.png Binary files differindex fa41ce78a..2deb5e6ce 100755..100644 --- a/web/static/images/emoji/yellow_heart.png +++ b/web/static/images/emoji/yellow_heart.png diff --git a/web/static/images/emoji/yen.png b/web/static/images/emoji/yen.png Binary files differindex 139bc936e..c0545520f 100755..100644 --- a/web/static/images/emoji/yen.png +++ b/web/static/images/emoji/yen.png diff --git a/web/static/images/emoji/yum.png b/web/static/images/emoji/yum.png Binary files differindex fc39637ec..7a353a7e8 100755..100644 --- a/web/static/images/emoji/yum.png +++ b/web/static/images/emoji/yum.png diff --git a/web/static/images/emoji/zap.png b/web/static/images/emoji/zap.png Binary files differindex 260c531b9..96ec4dccb 100755..100644 --- a/web/static/images/emoji/zap.png +++ b/web/static/images/emoji/zap.png diff --git a/web/static/images/emoji/zero.png b/web/static/images/emoji/zero.png Binary files differindex 6e57b3343..56e4e0672 100755..100644 --- a/web/static/images/emoji/zero.png +++ b/web/static/images/emoji/zero.png diff --git a/web/static/images/emoji/zzz.png b/web/static/images/emoji/zzz.png Binary files differindex 30be04655..05e245f20 100755..100644 --- a/web/static/images/emoji/zzz.png +++ b/web/static/images/emoji/zzz.png diff --git a/web/static/js/babel-polyfill-6.1.18.js b/web/static/js/babel-polyfill-6.1.18.js new file mode 100644 index 000000000..8a871402a --- /dev/null +++ b/web/static/js/babel-polyfill-6.1.18.js @@ -0,0 +1,4412 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){ +(function (global){ +"use strict"; + +_dereq_(188); + +_dereq_(189); + +if (global._babelPolyfill) { + throw new Error("only one instance of babel/polyfill is allowed"); +} +global._babelPolyfill = true; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"188":188,"189":189}],2:[function(_dereq_,module,exports){ +module.exports = function(it){ + if(typeof it != 'function')throw TypeError(it + ' is not a function!'); + return it; +}; +},{}],3:[function(_dereq_,module,exports){ +// 22.1.3.31 Array.prototype[@@unscopables] +var UNSCOPABLES = _dereq_(83)('unscopables') + , ArrayProto = Array.prototype; +if(ArrayProto[UNSCOPABLES] == undefined)_dereq_(31)(ArrayProto, UNSCOPABLES, {}); +module.exports = function(key){ + ArrayProto[UNSCOPABLES][key] = true; +}; +},{"31":31,"83":83}],4:[function(_dereq_,module,exports){ +var isObject = _dereq_(38); +module.exports = function(it){ + if(!isObject(it))throw TypeError(it + ' is not an object!'); + return it; +}; +},{"38":38}],5:[function(_dereq_,module,exports){ +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +'use strict'; +var toObject = _dereq_(80) + , toIndex = _dereq_(76) + , toLength = _dereq_(79); + +module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){ + var O = toObject(this) + , len = toLength(O.length) + , to = toIndex(target, len) + , from = toIndex(start, len) + , $$ = arguments + , end = $$.length > 2 ? $$[2] : undefined + , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) + , inc = 1; + if(from < to && to < from + count){ + inc = -1; + from += count - 1; + to += count - 1; + } + while(count-- > 0){ + if(from in O)O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; +},{"76":76,"79":79,"80":80}],6:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +'use strict'; +var toObject = _dereq_(80) + , toIndex = _dereq_(76) + , toLength = _dereq_(79); +module.exports = [].fill || function fill(value /*, start = 0, end = @length */){ + var O = toObject(this) + , length = toLength(O.length) + , $$ = arguments + , $$len = $$.length + , index = toIndex($$len > 1 ? $$[1] : undefined, length) + , end = $$len > 2 ? $$[2] : undefined + , endPos = end === undefined ? length : toIndex(end, length); + while(endPos > index)O[index++] = value; + return O; +}; +},{"76":76,"79":79,"80":80}],7:[function(_dereq_,module,exports){ +// false -> Array#indexOf +// true -> Array#includes +var toIObject = _dereq_(78) + , toLength = _dereq_(79) + , toIndex = _dereq_(76); +module.exports = function(IS_INCLUDES){ + return function($this, el, fromIndex){ + var O = toIObject($this) + , length = toLength(O.length) + , index = toIndex(fromIndex, length) + , value; + // Array#includes uses SameValueZero equality algorithm + if(IS_INCLUDES && el != el)while(length > index){ + value = O[index++]; + if(value != value)return true; + // Array#toIndex ignores holes, Array#includes - not + } else for(;length > index; index++)if(IS_INCLUDES || index in O){ + if(O[index] === el)return IS_INCLUDES || index; + } return !IS_INCLUDES && -1; + }; +}; +},{"76":76,"78":78,"79":79}],8:[function(_dereq_,module,exports){ +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = _dereq_(17) + , IObject = _dereq_(34) + , toObject = _dereq_(80) + , toLength = _dereq_(79) + , asc = _dereq_(9); +module.exports = function(TYPE){ + var IS_MAP = TYPE == 1 + , IS_FILTER = TYPE == 2 + , IS_SOME = TYPE == 3 + , IS_EVERY = TYPE == 4 + , IS_FIND_INDEX = TYPE == 6 + , NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function($this, callbackfn, that){ + var O = toObject($this) + , self = IObject(O) + , f = ctx(callbackfn, that, 3) + , length = toLength(self.length) + , index = 0 + , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined + , val, res; + for(;length > index; index++)if(NO_HOLES || index in self){ + val = self[index]; + res = f(val, index, O); + if(TYPE){ + if(IS_MAP)result[index] = res; // map + else if(res)switch(TYPE){ + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if(IS_EVERY)return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; +},{"17":17,"34":34,"79":79,"80":80,"9":9}],9:[function(_dereq_,module,exports){ +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var isObject = _dereq_(38) + , isArray = _dereq_(36) + , SPECIES = _dereq_(83)('species'); +module.exports = function(original, length){ + var C; + if(isArray(original)){ + C = original.constructor; + // cross-realm fallback + if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; + if(isObject(C)){ + C = C[SPECIES]; + if(C === null)C = undefined; + } + } return new (C === undefined ? Array : C)(length); +}; +},{"36":36,"38":38,"83":83}],10:[function(_dereq_,module,exports){ +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = _dereq_(11) + , TAG = _dereq_(83)('toStringTag') + // ES3 wrong here + , ARG = cof(function(){ return arguments; }()) == 'Arguments'; + +module.exports = function(it){ + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = (O = Object(it))[TAG]) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; +},{"11":11,"83":83}],11:[function(_dereq_,module,exports){ +var toString = {}.toString; + +module.exports = function(it){ + return toString.call(it).slice(8, -1); +}; +},{}],12:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , hide = _dereq_(31) + , redefineAll = _dereq_(60) + , ctx = _dereq_(17) + , strictNew = _dereq_(69) + , defined = _dereq_(18) + , forOf = _dereq_(27) + , $iterDefine = _dereq_(42) + , step = _dereq_(44) + , ID = _dereq_(82)('id') + , $has = _dereq_(30) + , isObject = _dereq_(38) + , setSpecies = _dereq_(65) + , DESCRIPTORS = _dereq_(19) + , isExtensible = Object.isExtensible || isObject + , SIZE = DESCRIPTORS ? '_s' : 'size' + , id = 0; + +var fastKey = function(it, create){ + // return primitive with prefix + if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if(!$has(it, ID)){ + // can't set id to frozen object + if(!isExtensible(it))return 'F'; + // not necessary to add id + if(!create)return 'E'; + // add missing object id + hide(it, ID, ++id); + // return object id with prefix + } return 'O' + it[ID]; +}; + +var getEntry = function(that, key){ + // fast case + var index = fastKey(key), entry; + if(index !== 'F')return that._i[index]; + // frozen object case + for(entry = that._f; entry; entry = entry.n){ + if(entry.k == key)return entry; + } +}; + +module.exports = { + getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ + var C = wrapper(function(that, iterable){ + strictNew(that, C, NAME); + that._i = $.create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear(){ + for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){ + entry.r = true; + if(entry.p)entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function(key){ + var that = this + , entry = getEntry(that, key); + if(entry){ + var next = entry.n + , prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if(prev)prev.n = next; + if(next)next.p = prev; + if(that._f == entry)that._f = next; + if(that._l == entry)that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /*, that = undefined */){ + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) + , entry; + while(entry = entry ? entry.n : this._f){ + f(entry.v, entry.k, this); + // revert to the last existing entry + while(entry && entry.r)entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key){ + return !!getEntry(this, key); + } + }); + if(DESCRIPTORS)$.setDesc(C.prototype, 'size', { + get: function(){ + return defined(this[SIZE]); + } + }); + return C; + }, + def: function(that, key, value){ + var entry = getEntry(that, key) + , prev, index; + // change existing entry + if(entry){ + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if(!that._f)that._f = entry; + if(prev)prev.n = entry; + that[SIZE]++; + // add to index + if(index !== 'F')that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function(C, NAME, IS_MAP){ + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function(iterated, kind){ + this._t = iterated; // target + this._k = kind; // kind + this._l = undefined; // previous + }, function(){ + var that = this + , kind = that._k + , entry = that._l; + // revert to the last existing entry + while(entry && entry.r)entry = entry.p; + // get next entry + if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){ + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if(kind == 'keys' )return step(0, entry.k); + if(kind == 'values')return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; +},{"17":17,"18":18,"19":19,"27":27,"30":30,"31":31,"38":38,"42":42,"44":44,"46":46,"60":60,"65":65,"69":69,"82":82}],13:[function(_dereq_,module,exports){ +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var forOf = _dereq_(27) + , classof = _dereq_(10); +module.exports = function(NAME){ + return function toJSON(){ + if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic"); + var arr = []; + forOf(this, false, arr.push, arr); + return arr; + }; +}; +},{"10":10,"27":27}],14:[function(_dereq_,module,exports){ +'use strict'; +var hide = _dereq_(31) + , redefineAll = _dereq_(60) + , anObject = _dereq_(4) + , isObject = _dereq_(38) + , strictNew = _dereq_(69) + , forOf = _dereq_(27) + , createArrayMethod = _dereq_(8) + , $has = _dereq_(30) + , WEAK = _dereq_(82)('weak') + , isExtensible = Object.isExtensible || isObject + , arrayFind = createArrayMethod(5) + , arrayFindIndex = createArrayMethod(6) + , id = 0; + +// fallback for frozen keys +var frozenStore = function(that){ + return that._l || (that._l = new FrozenStore); +}; +var FrozenStore = function(){ + this.a = []; +}; +var findFrozen = function(store, key){ + return arrayFind(store.a, function(it){ + return it[0] === key; + }); +}; +FrozenStore.prototype = { + get: function(key){ + var entry = findFrozen(this, key); + if(entry)return entry[1]; + }, + has: function(key){ + return !!findFrozen(this, key); + }, + set: function(key, value){ + var entry = findFrozen(this, key); + if(entry)entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function(key){ + var index = arrayFindIndex(this.a, function(it){ + return it[0] === key; + }); + if(~index)this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function(wrapper, NAME, IS_MAP, ADDER){ + var C = wrapper(function(that, iterable){ + strictNew(that, C, NAME); + that._i = id++; // collection id + that._l = undefined; // leak store for frozen objects + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function(key){ + if(!isObject(key))return false; + if(!isExtensible(key))return frozenStore(this)['delete'](key); + return $has(key, WEAK) && $has(key[WEAK], this._i) && delete key[WEAK][this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key){ + if(!isObject(key))return false; + if(!isExtensible(key))return frozenStore(this).has(key); + return $has(key, WEAK) && $has(key[WEAK], this._i); + } + }); + return C; + }, + def: function(that, key, value){ + if(!isExtensible(anObject(key))){ + frozenStore(that).set(key, value); + } else { + $has(key, WEAK) || hide(key, WEAK, {}); + key[WEAK][that._i] = value; + } return that; + }, + frozenStore: frozenStore, + WEAK: WEAK +}; +},{"27":27,"30":30,"31":31,"38":38,"4":4,"60":60,"69":69,"8":8,"82":82}],15:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(29) + , $export = _dereq_(22) + , redefine = _dereq_(61) + , redefineAll = _dereq_(60) + , forOf = _dereq_(27) + , strictNew = _dereq_(69) + , isObject = _dereq_(38) + , fails = _dereq_(24) + , $iterDetect = _dereq_(43) + , setToStringTag = _dereq_(66); + +module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ + var Base = global[NAME] + , C = Base + , ADDER = IS_MAP ? 'set' : 'add' + , proto = C && C.prototype + , O = {}; + var fixMethod = function(KEY){ + var fn = proto[KEY]; + redefine(proto, KEY, + KEY == 'delete' ? function(a){ + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a){ + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a){ + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } + ); + }; + if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ + new C().entries().next(); + }))){ + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + } else { + var instance = new C + // early implementations not supports chaining + , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); }) + // most early implementations doesn't supports iterables, most modern - not close it correctly + , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + , BUGGY_ZERO; + if(!ACCEPT_ITERABLES){ + C = wrapper(function(target, iterable){ + strictNew(target, C, NAME); + var that = new Base; + if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + IS_WEAK || instance.forEach(function(val, key){ + BUGGY_ZERO = 1 / key === -Infinity; + }); + if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); + // weak collections should not contains .clear method + if(IS_WEAK && proto.clear)delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); + + return C; +}; +},{"22":22,"24":24,"27":27,"29":29,"38":38,"43":43,"60":60,"61":61,"66":66,"69":69}],16:[function(_dereq_,module,exports){ +var core = module.exports = {version: '1.2.6'}; +if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef +},{}],17:[function(_dereq_,module,exports){ +// optional / simple context binding +var aFunction = _dereq_(2); +module.exports = function(fn, that, length){ + aFunction(fn); + if(that === undefined)return fn; + switch(length){ + case 1: return function(a){ + return fn.call(that, a); + }; + case 2: return function(a, b){ + return fn.call(that, a, b); + }; + case 3: return function(a, b, c){ + return fn.call(that, a, b, c); + }; + } + return function(/* ...args */){ + return fn.apply(that, arguments); + }; +}; +},{"2":2}],18:[function(_dereq_,module,exports){ +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function(it){ + if(it == undefined)throw TypeError("Can't call method on " + it); + return it; +}; +},{}],19:[function(_dereq_,module,exports){ +// Thank's IE8 for his funny defineProperty +module.exports = !_dereq_(24)(function(){ + return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; +}); +},{"24":24}],20:[function(_dereq_,module,exports){ +var isObject = _dereq_(38) + , document = _dereq_(29).document + // in old IE typeof document.createElement is 'object' + , is = isObject(document) && isObject(document.createElement); +module.exports = function(it){ + return is ? document.createElement(it) : {}; +}; +},{"29":29,"38":38}],21:[function(_dereq_,module,exports){ +// all enumerable object keys, includes symbols +var $ = _dereq_(46); +module.exports = function(it){ + var keys = $.getKeys(it) + , getSymbols = $.getSymbols; + if(getSymbols){ + var symbols = getSymbols(it) + , isEnum = $.isEnum + , i = 0 + , key; + while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key); + } + return keys; +}; +},{"46":46}],22:[function(_dereq_,module,exports){ +var global = _dereq_(29) + , core = _dereq_(16) + , hide = _dereq_(31) + , redefine = _dereq_(61) + , ctx = _dereq_(17) + , PROTOTYPE = 'prototype'; + +var $export = function(type, name, source){ + var IS_FORCED = type & $export.F + , IS_GLOBAL = type & $export.G + , IS_STATIC = type & $export.S + , IS_PROTO = type & $export.P + , IS_BIND = type & $export.B + , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] + , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) + , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}) + , key, own, out, exp; + if(IS_GLOBAL)source = name; + for(key in source){ + // contains in native + own = !IS_FORCED && target && key in target; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if(target && !own)redefine(target, key, out); + // export + if(exports[key] != out)hide(exports, key, exp); + if(IS_PROTO && expProto[key] != out)expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +module.exports = $export; +},{"16":16,"17":17,"29":29,"31":31,"61":61}],23:[function(_dereq_,module,exports){ +var MATCH = _dereq_(83)('match'); +module.exports = function(KEY){ + var re = /./; + try { + '/./'[KEY](re); + } catch(e){ + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch(f){ /* empty */ } + } return true; +}; +},{"83":83}],24:[function(_dereq_,module,exports){ +module.exports = function(exec){ + try { + return !!exec(); + } catch(e){ + return true; + } +}; +},{}],25:[function(_dereq_,module,exports){ +'use strict'; +var hide = _dereq_(31) + , redefine = _dereq_(61) + , fails = _dereq_(24) + , defined = _dereq_(18) + , wks = _dereq_(83); + +module.exports = function(KEY, length, exec){ + var SYMBOL = wks(KEY) + , original = ''[KEY]; + if(fails(function(){ + var O = {}; + O[SYMBOL] = function(){ return 7; }; + return ''[KEY](O) != 7; + })){ + redefine(String.prototype, KEY, exec(defined, SYMBOL, original)); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function(string, arg){ return original.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function(string){ return original.call(string, this); } + ); + } +}; +},{"18":18,"24":24,"31":31,"61":61,"83":83}],26:[function(_dereq_,module,exports){ +'use strict'; +// 21.2.5.3 get RegExp.prototype.flags +var anObject = _dereq_(4); +module.exports = function(){ + var that = anObject(this) + , result = ''; + if(that.global) result += 'g'; + if(that.ignoreCase) result += 'i'; + if(that.multiline) result += 'm'; + if(that.unicode) result += 'u'; + if(that.sticky) result += 'y'; + return result; +}; +},{"4":4}],27:[function(_dereq_,module,exports){ +var ctx = _dereq_(17) + , call = _dereq_(40) + , isArrayIter = _dereq_(35) + , anObject = _dereq_(4) + , toLength = _dereq_(79) + , getIterFn = _dereq_(84); +module.exports = function(iterable, entries, fn, that){ + var iterFn = getIterFn(iterable) + , f = ctx(fn, that, entries ? 2 : 1) + , index = 0 + , length, step, iterator; + if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ + entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ + call(iterator, f, step.value, entries); + } +}; +},{"17":17,"35":35,"4":4,"40":40,"79":79,"84":84}],28:[function(_dereq_,module,exports){ +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = _dereq_(78) + , getNames = _dereq_(46).getNames + , toString = {}.toString; + +var windowNames = typeof window == 'object' && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function(it){ + try { + return getNames(it); + } catch(e){ + return windowNames.slice(); + } +}; + +module.exports.get = function getOwnPropertyNames(it){ + if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it); + return getNames(toIObject(it)); +}; +},{"46":46,"78":78}],29:[function(_dereq_,module,exports){ +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); +if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef +},{}],30:[function(_dereq_,module,exports){ +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function(it, key){ + return hasOwnProperty.call(it, key); +}; +},{}],31:[function(_dereq_,module,exports){ +var $ = _dereq_(46) + , createDesc = _dereq_(59); +module.exports = _dereq_(19) ? function(object, key, value){ + return $.setDesc(object, key, createDesc(1, value)); +} : function(object, key, value){ + object[key] = value; + return object; +}; +},{"19":19,"46":46,"59":59}],32:[function(_dereq_,module,exports){ +module.exports = _dereq_(29).document && document.documentElement; +},{"29":29}],33:[function(_dereq_,module,exports){ +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function(fn, args, that){ + var un = that === undefined; + switch(args.length){ + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; +},{}],34:[function(_dereq_,module,exports){ +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = _dereq_(11); +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ + return cof(it) == 'String' ? it.split('') : Object(it); +}; +},{"11":11}],35:[function(_dereq_,module,exports){ +// check on default Array iterator +var Iterators = _dereq_(45) + , ITERATOR = _dereq_(83)('iterator') + , ArrayProto = Array.prototype; + +module.exports = function(it){ + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; +},{"45":45,"83":83}],36:[function(_dereq_,module,exports){ +// 7.2.2 IsArray(argument) +var cof = _dereq_(11); +module.exports = Array.isArray || function(arg){ + return cof(arg) == 'Array'; +}; +},{"11":11}],37:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var isObject = _dereq_(38) + , floor = Math.floor; +module.exports = function isInteger(it){ + return !isObject(it) && isFinite(it) && floor(it) === it; +}; +},{"38":38}],38:[function(_dereq_,module,exports){ +module.exports = function(it){ + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; +},{}],39:[function(_dereq_,module,exports){ +// 7.2.8 IsRegExp(argument) +var isObject = _dereq_(38) + , cof = _dereq_(11) + , MATCH = _dereq_(83)('match'); +module.exports = function(it){ + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; +},{"11":11,"38":38,"83":83}],40:[function(_dereq_,module,exports){ +// call something on iterator step with safe closing on error +var anObject = _dereq_(4); +module.exports = function(iterator, fn, value, entries){ + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch(e){ + var ret = iterator['return']; + if(ret !== undefined)anObject(ret.call(iterator)); + throw e; + } +}; +},{"4":4}],41:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , descriptor = _dereq_(59) + , setToStringTag = _dereq_(66) + , IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +_dereq_(31)(IteratorPrototype, _dereq_(83)('iterator'), function(){ return this; }); + +module.exports = function(Constructor, NAME, next){ + Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)}); + setToStringTag(Constructor, NAME + ' Iterator'); +}; +},{"31":31,"46":46,"59":59,"66":66,"83":83}],42:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(48) + , $export = _dereq_(22) + , redefine = _dereq_(61) + , hide = _dereq_(31) + , has = _dereq_(30) + , Iterators = _dereq_(45) + , $iterCreate = _dereq_(41) + , setToStringTag = _dereq_(66) + , getProto = _dereq_(46).getProto + , ITERATOR = _dereq_(83)('iterator') + , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` + , FF_ITERATOR = '@@iterator' + , KEYS = 'keys' + , VALUES = 'values'; + +var returnThis = function(){ return this; }; + +module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ + $iterCreate(Constructor, NAME, next); + var getMethod = function(kind){ + if(!BUGGY && kind in proto)return proto[kind]; + switch(kind){ + case KEYS: return function keys(){ return new Constructor(this, kind); }; + case VALUES: return function values(){ return new Constructor(this, kind); }; + } return function entries(){ return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator' + , DEF_VALUES = DEFAULT == VALUES + , VALUES_BUG = false + , proto = Base.prototype + , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] + , $default = $native || getMethod(DEFAULT) + , methods, key; + // Fix native + if($native){ + var IteratorPrototype = getProto($default.call(new Base)); + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // FF fix + if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); + // fix Array#{values, @@iterator}.name in V8 / FF + if(DEF_VALUES && $native.name !== VALUES){ + VALUES_BUG = true; + $default = function values(){ return $native.call(this); }; + } + } + // Define iterator + if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if(DEFAULT){ + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: !DEF_VALUES ? $default : getMethod('entries') + }; + if(FORCED)for(key in methods){ + if(!(key in proto))redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; +},{"22":22,"30":30,"31":31,"41":41,"45":45,"46":46,"48":48,"61":61,"66":66,"83":83}],43:[function(_dereq_,module,exports){ +var ITERATOR = _dereq_(83)('iterator') + , SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function(){ SAFE_CLOSING = true; }; + Array.from(riter, function(){ throw 2; }); +} catch(e){ /* empty */ } + +module.exports = function(exec, skipClosing){ + if(!skipClosing && !SAFE_CLOSING)return false; + var safe = false; + try { + var arr = [7] + , iter = arr[ITERATOR](); + iter.next = function(){ safe = true; }; + arr[ITERATOR] = function(){ return iter; }; + exec(arr); + } catch(e){ /* empty */ } + return safe; +}; +},{"83":83}],44:[function(_dereq_,module,exports){ +module.exports = function(done, value){ + return {value: value, done: !!done}; +}; +},{}],45:[function(_dereq_,module,exports){ +module.exports = {}; +},{}],46:[function(_dereq_,module,exports){ +var $Object = Object; +module.exports = { + create: $Object.create, + getProto: $Object.getPrototypeOf, + isEnum: {}.propertyIsEnumerable, + getDesc: $Object.getOwnPropertyDescriptor, + setDesc: $Object.defineProperty, + setDescs: $Object.defineProperties, + getKeys: $Object.keys, + getNames: $Object.getOwnPropertyNames, + getSymbols: $Object.getOwnPropertySymbols, + each: [].forEach +}; +},{}],47:[function(_dereq_,module,exports){ +var $ = _dereq_(46) + , toIObject = _dereq_(78); +module.exports = function(object, el){ + var O = toIObject(object) + , keys = $.getKeys(O) + , length = keys.length + , index = 0 + , key; + while(length > index)if(O[key = keys[index++]] === el)return key; +}; +},{"46":46,"78":78}],48:[function(_dereq_,module,exports){ +module.exports = false; +},{}],49:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +module.exports = Math.expm1 || function expm1(x){ + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +}; +},{}],50:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x){ + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; +},{}],51:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x){ + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; +},{}],52:[function(_dereq_,module,exports){ +var global = _dereq_(29) + , macrotask = _dereq_(75).set + , Observer = global.MutationObserver || global.WebKitMutationObserver + , process = global.process + , Promise = global.Promise + , isNode = _dereq_(11)(process) == 'process' + , head, last, notify; + +var flush = function(){ + var parent, domain, fn; + if(isNode && (parent = process.domain)){ + process.domain = null; + parent.exit(); + } + while(head){ + domain = head.domain; + fn = head.fn; + if(domain)domain.enter(); + fn(); // <- currently we use it only for Promise - try / catch not required + if(domain)domain.exit(); + head = head.next; + } last = undefined; + if(parent)parent.enter(); +}; + +// Node.js +if(isNode){ + notify = function(){ + process.nextTick(flush); + }; +// browsers with MutationObserver +} else if(Observer){ + var toggle = 1 + , node = document.createTextNode(''); + new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new + notify = function(){ + node.data = toggle = -toggle; + }; +// environments with maybe non-completely correct, but existent Promise +} else if(Promise && Promise.resolve){ + notify = function(){ + Promise.resolve().then(flush); + }; +// for other environments - macrotask based on: +// - setImmediate +// - MessageChannel +// - window.postMessag +// - onreadystatechange +// - setTimeout +} else { + notify = function(){ + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; +} + +module.exports = function asap(fn){ + var task = {fn: fn, next: undefined, domain: isNode && process.domain}; + if(last)last.next = task; + if(!head){ + head = task; + notify(); + } last = task; +}; +},{"11":11,"29":29,"75":75}],53:[function(_dereq_,module,exports){ +// 19.1.2.1 Object.assign(target, source, ...) +var $ = _dereq_(46) + , toObject = _dereq_(80) + , IObject = _dereq_(34); + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = _dereq_(24)(function(){ + var a = Object.assign + , A = {} + , B = {} + , S = Symbol() + , K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function(k){ B[k] = k; }); + return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K; +}) ? function assign(target, source){ // eslint-disable-line no-unused-vars + var T = toObject(target) + , $$ = arguments + , $$len = $$.length + , index = 1 + , getKeys = $.getKeys + , getSymbols = $.getSymbols + , isEnum = $.isEnum; + while($$len > index){ + var S = IObject($$[index++]) + , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) + , length = keys.length + , j = 0 + , key; + while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; + } + return T; +} : Object.assign; +},{"24":24,"34":34,"46":46,"80":80}],54:[function(_dereq_,module,exports){ +// most Object methods by ES6 should accept primitives +var $export = _dereq_(22) + , core = _dereq_(16) + , fails = _dereq_(24); +module.exports = function(KEY, exec){ + var fn = (core.Object || {})[KEY] || Object[KEY] + , exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); +}; +},{"16":16,"22":22,"24":24}],55:[function(_dereq_,module,exports){ +var $ = _dereq_(46) + , toIObject = _dereq_(78) + , isEnum = $.isEnum; +module.exports = function(isEntries){ + return function(it){ + var O = toIObject(it) + , keys = $.getKeys(O) + , length = keys.length + , i = 0 + , result = [] + , key; + while(length > i)if(isEnum.call(O, key = keys[i++])){ + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; +},{"46":46,"78":78}],56:[function(_dereq_,module,exports){ +// all object keys, includes non-enumerable and symbols +var $ = _dereq_(46) + , anObject = _dereq_(4) + , Reflect = _dereq_(29).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ + var keys = $.getNames(anObject(it)) + , getSymbols = $.getSymbols; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; +},{"29":29,"4":4,"46":46}],57:[function(_dereq_,module,exports){ +'use strict'; +var path = _dereq_(58) + , invoke = _dereq_(33) + , aFunction = _dereq_(2); +module.exports = function(/* ...pargs */){ + var fn = aFunction(this) + , length = arguments.length + , pargs = Array(length) + , i = 0 + , _ = path._ + , holder = false; + while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; + return function(/* ...args */){ + var that = this + , $$ = arguments + , $$len = $$.length + , j = 0, k = 0, args; + if(!holder && !$$len)return invoke(fn, pargs, that); + args = pargs.slice(); + if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++]; + while($$len > k)args.push($$[k++]); + return invoke(fn, args, that); + }; +}; +},{"2":2,"33":33,"58":58}],58:[function(_dereq_,module,exports){ +module.exports = _dereq_(29); +},{"29":29}],59:[function(_dereq_,module,exports){ +module.exports = function(bitmap, value){ + return { + enumerable : !(bitmap & 1), + configurable: !(bitmap & 2), + writable : !(bitmap & 4), + value : value + }; +}; +},{}],60:[function(_dereq_,module,exports){ +var redefine = _dereq_(61); +module.exports = function(target, src){ + for(var key in src)redefine(target, key, src[key]); + return target; +}; +},{"61":61}],61:[function(_dereq_,module,exports){ +// add fake Function#toString +// for correct work wrapped methods / constructors with methods like LoDash isNative +var global = _dereq_(29) + , hide = _dereq_(31) + , SRC = _dereq_(82)('src') + , TO_STRING = 'toString' + , $toString = Function[TO_STRING] + , TPL = ('' + $toString).split(TO_STRING); + +_dereq_(16).inspectSource = function(it){ + return $toString.call(it); +}; + +(module.exports = function(O, key, val, safe){ + if(typeof val == 'function'){ + val.hasOwnProperty(SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + val.hasOwnProperty('name') || hide(val, 'name', key); + } + if(O === global){ + O[key] = val; + } else { + if(!safe)delete O[key]; + hide(O, key, val); + } +})(Function.prototype, TO_STRING, function toString(){ + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); +},{"16":16,"29":29,"31":31,"82":82}],62:[function(_dereq_,module,exports){ +module.exports = function(regExp, replace){ + var replacer = replace === Object(replace) ? function(part){ + return replace[part]; + } : replace; + return function(it){ + return String(it).replace(regExp, replacer); + }; +}; +},{}],63:[function(_dereq_,module,exports){ +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y){ + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; +},{}],64:[function(_dereq_,module,exports){ +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var getDesc = _dereq_(46).getDesc + , isObject = _dereq_(38) + , anObject = _dereq_(4); +var check = function(O, proto){ + anObject(O); + if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function(test, buggy, set){ + try { + set = _dereq_(17)(Function.call, getDesc(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch(e){ buggy = true; } + return function setPrototypeOf(O, proto){ + check(O, proto); + if(buggy)O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; +},{"17":17,"38":38,"4":4,"46":46}],65:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(29) + , $ = _dereq_(46) + , DESCRIPTORS = _dereq_(19) + , SPECIES = _dereq_(83)('species'); + +module.exports = function(KEY){ + var C = global[KEY]; + if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, { + configurable: true, + get: function(){ return this; } + }); +}; +},{"19":19,"29":29,"46":46,"83":83}],66:[function(_dereq_,module,exports){ +var def = _dereq_(46).setDesc + , has = _dereq_(30) + , TAG = _dereq_(83)('toStringTag'); + +module.exports = function(it, tag, stat){ + if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); +}; +},{"30":30,"46":46,"83":83}],67:[function(_dereq_,module,exports){ +var global = _dereq_(29) + , SHARED = '__core-js_shared__' + , store = global[SHARED] || (global[SHARED] = {}); +module.exports = function(key){ + return store[key] || (store[key] = {}); +}; +},{"29":29}],68:[function(_dereq_,module,exports){ +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = _dereq_(4) + , aFunction = _dereq_(2) + , SPECIES = _dereq_(83)('species'); +module.exports = function(O, D){ + var C = anObject(O).constructor, S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; +},{"2":2,"4":4,"83":83}],69:[function(_dereq_,module,exports){ +module.exports = function(it, Constructor, name){ + if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!"); + return it; +}; +},{}],70:[function(_dereq_,module,exports){ +var toInteger = _dereq_(77) + , defined = _dereq_(18); +// true -> String#at +// false -> String#codePointAt +module.exports = function(TO_STRING){ + return function(that, pos){ + var s = String(defined(that)) + , i = toInteger(pos) + , l = s.length + , a, b; + if(i < 0 || i >= l)return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; +},{"18":18,"77":77}],71:[function(_dereq_,module,exports){ +// helper for String#{startsWith, endsWith, includes} +var isRegExp = _dereq_(39) + , defined = _dereq_(18); + +module.exports = function(that, searchString, NAME){ + if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; +},{"18":18,"39":39}],72:[function(_dereq_,module,exports){ +// https://github.com/ljharb/proposal-string-pad-left-right +var toLength = _dereq_(79) + , repeat = _dereq_(73) + , defined = _dereq_(18); + +module.exports = function(that, maxLength, fillString, left){ + var S = String(defined(that)) + , stringLength = S.length + , fillStr = fillString === undefined ? ' ' : String(fillString) + , intMaxLength = toLength(maxLength); + if(intMaxLength <= stringLength)return S; + if(fillStr == '')fillStr = ' '; + var fillLen = intMaxLength - stringLength + , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; +},{"18":18,"73":73,"79":79}],73:[function(_dereq_,module,exports){ +'use strict'; +var toInteger = _dereq_(77) + , defined = _dereq_(18); + +module.exports = function repeat(count){ + var str = String(defined(this)) + , res = '' + , n = toInteger(count); + if(n < 0 || n == Infinity)throw RangeError("Count can't be negative"); + for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; + return res; +}; +},{"18":18,"77":77}],74:[function(_dereq_,module,exports){ +var $export = _dereq_(22) + , defined = _dereq_(18) + , fails = _dereq_(24) + , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF' + , space = '[' + spaces + ']' + , non = '\u200b\u0085' + , ltrim = RegExp('^' + space + space + '*') + , rtrim = RegExp(space + space + '*$'); + +var exporter = function(KEY, exec){ + var exp = {}; + exp[KEY] = exec(trim); + $export($export.P + $export.F * fails(function(){ + return !!spaces[KEY]() || non[KEY]() != non; + }), 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function(string, TYPE){ + string = String(defined(string)); + if(TYPE & 1)string = string.replace(ltrim, ''); + if(TYPE & 2)string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; +},{"18":18,"22":22,"24":24}],75:[function(_dereq_,module,exports){ +var ctx = _dereq_(17) + , invoke = _dereq_(33) + , html = _dereq_(32) + , cel = _dereq_(20) + , global = _dereq_(29) + , process = global.process + , setTask = global.setImmediate + , clearTask = global.clearImmediate + , MessageChannel = global.MessageChannel + , counter = 0 + , queue = {} + , ONREADYSTATECHANGE = 'onreadystatechange' + , defer, channel, port; +var run = function(){ + var id = +this; + if(queue.hasOwnProperty(id)){ + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listner = function(event){ + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if(!setTask || !clearTask){ + setTask = function setImmediate(fn){ + var args = [], i = 1; + while(arguments.length > i)args.push(arguments[i++]); + queue[++counter] = function(){ + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id){ + delete queue[id]; + }; + // Node.js 0.8- + if(_dereq_(11)(process) == 'process'){ + defer = function(id){ + process.nextTick(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if(MessageChannel){ + channel = new MessageChannel; + port = channel.port2; + channel.port1.onmessage = listner; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ + defer = function(id){ + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listner, false); + // IE8- + } else if(ONREADYSTATECHANGE in cel('script')){ + defer = function(id){ + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){ + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function(id){ + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; +},{"11":11,"17":17,"20":20,"29":29,"32":32,"33":33}],76:[function(_dereq_,module,exports){ +var toInteger = _dereq_(77) + , max = Math.max + , min = Math.min; +module.exports = function(index, length){ + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; +},{"77":77}],77:[function(_dereq_,module,exports){ +// 7.1.4 ToInteger +var ceil = Math.ceil + , floor = Math.floor; +module.exports = function(it){ + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; +},{}],78:[function(_dereq_,module,exports){ +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = _dereq_(34) + , defined = _dereq_(18); +module.exports = function(it){ + return IObject(defined(it)); +}; +},{"18":18,"34":34}],79:[function(_dereq_,module,exports){ +// 7.1.15 ToLength +var toInteger = _dereq_(77) + , min = Math.min; +module.exports = function(it){ + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; +},{"77":77}],80:[function(_dereq_,module,exports){ +// 7.1.13 ToObject(argument) +var defined = _dereq_(18); +module.exports = function(it){ + return Object(defined(it)); +}; +},{"18":18}],81:[function(_dereq_,module,exports){ +// 7.1.1 ToPrimitive(input [, PreferredType])
+var isObject = _dereq_(38);
+// instead of the ES6 spec version, we didn't implement @@toPrimitive case
+// and the second argument - flag - preferred type is a string
+module.exports = function(it, S){
+ if(!isObject(it))return it;
+ var fn, val;
+ if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
+ if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
+ if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
+ throw TypeError("Can't convert object to primitive value");
+}; +},{"38":38}],82:[function(_dereq_,module,exports){ +var id = 0 + , px = Math.random(); +module.exports = function(key){ + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; +},{}],83:[function(_dereq_,module,exports){ +var store = _dereq_(67)('wks') + , uid = _dereq_(82) + , Symbol = _dereq_(29).Symbol; +module.exports = function(name){ + return store[name] || (store[name] = + Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name)); +}; +},{"29":29,"67":67,"82":82}],84:[function(_dereq_,module,exports){ +var classof = _dereq_(10) + , ITERATOR = _dereq_(83)('iterator') + , Iterators = _dereq_(45); +module.exports = _dereq_(16).getIteratorMethod = function(it){ + if(it != undefined)return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; +},{"10":10,"16":16,"45":45,"83":83}],85:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , $export = _dereq_(22) + , DESCRIPTORS = _dereq_(19) + , createDesc = _dereq_(59) + , html = _dereq_(32) + , cel = _dereq_(20) + , has = _dereq_(30) + , cof = _dereq_(11) + , invoke = _dereq_(33) + , fails = _dereq_(24) + , anObject = _dereq_(4) + , aFunction = _dereq_(2) + , isObject = _dereq_(38) + , toObject = _dereq_(80) + , toIObject = _dereq_(78) + , toInteger = _dereq_(77) + , toIndex = _dereq_(76) + , toLength = _dereq_(79) + , IObject = _dereq_(34) + , IE_PROTO = _dereq_(82)('__proto__') + , createArrayMethod = _dereq_(8) + , arrayIndexOf = _dereq_(7)(false) + , ObjectProto = Object.prototype + , ArrayProto = Array.prototype + , arraySlice = ArrayProto.slice + , arrayJoin = ArrayProto.join + , defineProperty = $.setDesc + , getOwnDescriptor = $.getDesc + , defineProperties = $.setDescs + , factories = {} + , IE8_DOM_DEFINE; + +if(!DESCRIPTORS){ + IE8_DOM_DEFINE = !fails(function(){ + return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7; + }); + $.setDesc = function(O, P, Attributes){ + if(IE8_DOM_DEFINE)try { + return defineProperty(O, P, Attributes); + } catch(e){ /* empty */ } + if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); + if('value' in Attributes)anObject(O)[P] = Attributes.value; + return O; + }; + $.getDesc = function(O, P){ + if(IE8_DOM_DEFINE)try { + return getOwnDescriptor(O, P); + } catch(e){ /* empty */ } + if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]); + }; + $.setDescs = defineProperties = function(O, Properties){ + anObject(O); + var keys = $.getKeys(Properties) + , length = keys.length + , i = 0 + , P; + while(length > i)$.setDesc(O, P = keys[i++], Properties[P]); + return O; + }; +} +$export($export.S + $export.F * !DESCRIPTORS, 'Object', { + // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $.getDesc, + // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) + defineProperty: $.setDesc, + // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) + defineProperties: defineProperties +}); + + // IE 8- don't enum bug keys +var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' + + 'toLocaleString,toString,valueOf').split(',') + // Additional keys for getOwnPropertyNames + , keys2 = keys1.concat('length', 'prototype') + , keysLen1 = keys1.length; + +// Create object with `null` prototype: use iframe Object with cleared prototype +var createDict = function(){ + // Thrash, waste and sodomy: IE GC bug + var iframe = cel('iframe') + , i = keysLen1 + , gt = '>' + , iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write('<script>document.F=Object</script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while(i--)delete createDict.prototype[keys1[i]]; + return createDict(); +}; +var createGetKeys = function(names, length){ + return function(object){ + var O = toIObject(object) + , i = 0 + , result = [] + , key; + for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while(length > i)if(has(O, key = names[i++])){ + ~arrayIndexOf(result, key) || result.push(key); + } + return result; + }; +}; +var Empty = function(){}; +$export($export.S, 'Object', { + // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) + getPrototypeOf: $.getProto = $.getProto || function(O){ + O = toObject(O); + if(has(O, IE_PROTO))return O[IE_PROTO]; + if(typeof O.constructor == 'function' && O instanceof O.constructor){ + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; + }, + // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $.getNames = $.getNames || createGetKeys(keys2, keys2.length, true), + // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) + create: $.create = $.create || function(O, /*?*/Properties){ + var result; + if(O !== null){ + Empty.prototype = anObject(O); + result = new Empty(); + Empty.prototype = null; + // add "__proto__" for Object.getPrototypeOf shim + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : defineProperties(result, Properties); + }, + // 19.1.2.14 / 15.2.3.14 Object.keys(O) + keys: $.getKeys = $.getKeys || createGetKeys(keys1, keysLen1, false) +}); + +var construct = function(F, len, args){ + if(!(len in factories)){ + for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']'; + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } + return factories[len](F, args); +}; + +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +$export($export.P, 'Function', { + bind: function bind(that /*, args... */){ + var fn = aFunction(this) + , partArgs = arraySlice.call(arguments, 1); + var bound = function(/* args... */){ + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if(isObject(fn.prototype))bound.prototype = fn.prototype; + return bound; + } +}); + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * fails(function(){ + if(html)arraySlice.call(html); +}), 'Array', { + slice: function(begin, end){ + var len = toLength(this.length) + , klass = cof(this); + end = end === undefined ? len : end; + if(klass == 'Array')return arraySlice.call(this, begin, end); + var start = toIndex(begin, len) + , upTo = toIndex(end, len) + , size = toLength(upTo - start) + , cloned = Array(size) + , i = 0; + for(; i < size; i++)cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); +$export($export.P + $export.F * (IObject != Object), 'Array', { + join: function join(separator){ + return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator); + } +}); + +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +$export($export.S, 'Array', {isArray: _dereq_(36)}); + +var createArrayReduce = function(isRight){ + return function(callbackfn, memo){ + aFunction(callbackfn); + var O = IObject(this) + , length = toLength(O.length) + , index = isRight ? length - 1 : 0 + , i = isRight ? -1 : 1; + if(arguments.length < 2)for(;;){ + if(index in O){ + memo = O[index]; + index += i; + break; + } + index += i; + if(isRight ? index < 0 : length <= index){ + throw TypeError('Reduce of empty array with no initial value'); + } + } + for(;isRight ? index >= 0 : length > index; index += i)if(index in O){ + memo = callbackfn(memo, O[index], index, this); + } + return memo; + }; +}; + +var methodize = function($fn){ + return function(arg1/*, arg2 = undefined */){ + return $fn(this, arg1, arguments[1]); + }; +}; + +$export($export.P, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: $.each = $.each || methodize(createArrayMethod(0)), + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: methodize(createArrayMethod(1)), + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: methodize(createArrayMethod(2)), + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: methodize(createArrayMethod(3)), + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: methodize(createArrayMethod(4)), + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: createArrayReduce(false), + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: createArrayReduce(true), + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: methodize(arrayIndexOf), + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function(el, fromIndex /* = @[*-1] */){ + var O = toIObject(this) + , length = toLength(O.length) + , index = length - 1; + if(arguments.length > 1)index = Math.min(index, toInteger(fromIndex)); + if(index < 0)index = toLength(length + index); + for(;index >= 0; index--)if(index in O)if(O[index] === el)return index; + return -1; + } +}); + +// 20.3.3.1 / 15.9.4.4 Date.now() +$export($export.S, 'Date', {now: function(){ return +new Date; }}); + +var lz = function(num){ + return num > 9 ? num : '0' + num; +}; + +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (fails(function(){ + return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; +}) || !fails(function(){ + new Date(NaN).toISOString(); +})), 'Date', { + toISOString: function toISOString(){ + if(!isFinite(this))throw RangeError('Invalid time value'); + var d = this + , y = d.getUTCFullYear() + , m = d.getUTCMilliseconds() + , s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; + } +}); +},{"11":11,"19":19,"2":2,"20":20,"22":22,"24":24,"30":30,"32":32,"33":33,"34":34,"36":36,"38":38,"4":4,"46":46,"59":59,"7":7,"76":76,"77":77,"78":78,"79":79,"8":8,"80":80,"82":82}],86:[function(_dereq_,module,exports){ +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = _dereq_(22); + +$export($export.P, 'Array', {copyWithin: _dereq_(5)}); + +_dereq_(3)('copyWithin'); +},{"22":22,"3":3,"5":5}],87:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = _dereq_(22); + +$export($export.P, 'Array', {fill: _dereq_(6)}); + +_dereq_(3)('fill'); +},{"22":22,"3":3,"6":6}],88:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = _dereq_(22) + , $find = _dereq_(8)(6) + , KEY = 'findIndex' + , forced = true; +// Shouldn't skip holes +if(KEY in [])Array(1)[KEY](function(){ forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn/*, that = undefined */){ + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(3)(KEY); +},{"22":22,"3":3,"8":8}],89:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = _dereq_(22) + , $find = _dereq_(8)(5) + , KEY = 'find' + , forced = true; +// Shouldn't skip holes +if(KEY in [])Array(1)[KEY](function(){ forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn/*, that = undefined */){ + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(3)(KEY); +},{"22":22,"3":3,"8":8}],90:[function(_dereq_,module,exports){ +'use strict'; +var ctx = _dereq_(17) + , $export = _dereq_(22) + , toObject = _dereq_(80) + , call = _dereq_(40) + , isArrayIter = _dereq_(35) + , toLength = _dereq_(79) + , getIterFn = _dereq_(84); +$export($export.S + $export.F * !_dereq_(43)(function(iter){ Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ + var O = toObject(arrayLike) + , C = typeof this == 'function' ? this : Array + , $$ = arguments + , $$len = $$.length + , mapfn = $$len > 1 ? $$[1] : undefined + , mapping = mapfn !== undefined + , index = 0 + , iterFn = getIterFn(O) + , length, result, step, iterator; + if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ + for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ + result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value; + } + } else { + length = toLength(O.length); + for(result = new C(length); length > index; index++){ + result[index] = mapping ? mapfn(O[index], index) : O[index]; + } + } + result.length = index; + return result; + } +}); + +},{"17":17,"22":22,"35":35,"40":40,"43":43,"79":79,"80":80,"84":84}],91:[function(_dereq_,module,exports){ +'use strict'; +var addToUnscopables = _dereq_(3) + , step = _dereq_(44) + , Iterators = _dereq_(45) + , toIObject = _dereq_(78); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = _dereq_(42)(Array, 'Array', function(iterated, kind){ + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function(){ + var O = this._t + , kind = this._k + , index = this._i++; + if(!O || index >= O.length){ + this._t = undefined; + return step(1); + } + if(kind == 'keys' )return step(0, index); + if(kind == 'values')return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); +},{"3":3,"42":42,"44":44,"45":45,"78":78}],92:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(22); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * _dereq_(24)(function(){ + function F(){} + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */){ + var index = 0 + , $$ = arguments + , $$len = $$.length + , result = new (typeof this == 'function' ? this : Array)($$len); + while($$len > index)result[index] = $$[index++]; + result.length = $$len; + return result; + } +}); +},{"22":22,"24":24}],93:[function(_dereq_,module,exports){ +_dereq_(65)('Array'); +},{"65":65}],94:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , isObject = _dereq_(38) + , HAS_INSTANCE = _dereq_(83)('hasInstance') + , FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {value: function(O){ + if(typeof this != 'function' || !isObject(O))return false; + if(!isObject(this.prototype))return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while(O = $.getProto(O))if(this.prototype === O)return true; + return false; +}}); +},{"38":38,"46":46,"83":83}],95:[function(_dereq_,module,exports){ +var setDesc = _dereq_(46).setDesc + , createDesc = _dereq_(59) + , has = _dereq_(30) + , FProto = Function.prototype + , nameRE = /^\s*function ([^ (]*)/ + , NAME = 'name'; +// 19.2.4.2 name +NAME in FProto || _dereq_(19) && setDesc(FProto, NAME, { + configurable: true, + get: function(){ + var match = ('' + this).match(nameRE) + , name = match ? match[1] : ''; + has(this, NAME) || setDesc(this, NAME, createDesc(5, name)); + return name; + } +}); +},{"19":19,"30":30,"46":46,"59":59}],96:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(12); + +// 23.1 Map Objects +_dereq_(15)('Map', function(get){ + return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key){ + var entry = strong.getEntry(this, key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value){ + return strong.def(this, key === 0 ? 0 : key, value); + } +}, strong, true); +},{"12":12,"15":15}],97:[function(_dereq_,module,exports){ +// 20.2.2.3 Math.acosh(x) +var $export = _dereq_(22) + , log1p = _dereq_(50) + , sqrt = Math.sqrt + , $acosh = Math.acosh; + +// V8 bug https://code.google.com/p/v8/issues/detail?id=3509 +$export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', { + acosh: function acosh(x){ + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); +},{"22":22,"50":50}],98:[function(_dereq_,module,exports){ +// 20.2.2.5 Math.asinh(x) +var $export = _dereq_(22); + +function asinh(x){ + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +$export($export.S, 'Math', {asinh: asinh}); +},{"22":22}],99:[function(_dereq_,module,exports){ +// 20.2.2.7 Math.atanh(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', { + atanh: function atanh(x){ + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); +},{"22":22}],100:[function(_dereq_,module,exports){ +// 20.2.2.9 Math.cbrt(x) +var $export = _dereq_(22) + , sign = _dereq_(51); + +$export($export.S, 'Math', { + cbrt: function cbrt(x){ + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); +},{"22":22,"51":51}],101:[function(_dereq_,module,exports){ +// 20.2.2.11 Math.clz32(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', { + clz32: function clz32(x){ + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); +},{"22":22}],102:[function(_dereq_,module,exports){ +// 20.2.2.12 Math.cosh(x) +var $export = _dereq_(22) + , exp = Math.exp; + +$export($export.S, 'Math', { + cosh: function cosh(x){ + return (exp(x = +x) + exp(-x)) / 2; + } +}); +},{"22":22}],103:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', {expm1: _dereq_(49)}); +},{"22":22,"49":49}],104:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var $export = _dereq_(22) + , sign = _dereq_(51) + , pow = Math.pow + , EPSILON = pow(2, -52) + , EPSILON32 = pow(2, -23) + , MAX32 = pow(2, 127) * (2 - EPSILON32) + , MIN32 = pow(2, -126); + +var roundTiesToEven = function(n){ + return n + 1 / EPSILON - 1 / EPSILON; +}; + + +$export($export.S, 'Math', { + fround: function fround(x){ + var $abs = Math.abs(x) + , $sign = sign(x) + , a, result; + if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + if(result > MAX32 || result != result)return $sign * Infinity; + return $sign * result; + } +}); +},{"22":22,"51":51}],105:[function(_dereq_,module,exports){ +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = _dereq_(22) + , abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars + var sum = 0 + , i = 0 + , $$ = arguments + , $$len = $$.length + , larg = 0 + , arg, div; + while(i < $$len){ + arg = abs($$[i++]); + if(larg < arg){ + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if(arg > 0){ + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); +},{"22":22}],106:[function(_dereq_,module,exports){ +// 20.2.2.18 Math.imul(x, y) +var $export = _dereq_(22) + , $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * _dereq_(24)(function(){ + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y){ + var UINT16 = 0xffff + , xn = +x + , yn = +y + , xl = UINT16 & xn + , yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); +},{"22":22,"24":24}],107:[function(_dereq_,module,exports){ +// 20.2.2.21 Math.log10(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', { + log10: function log10(x){ + return Math.log(x) / Math.LN10; + } +}); +},{"22":22}],108:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', {log1p: _dereq_(50)}); +},{"22":22,"50":50}],109:[function(_dereq_,module,exports){ +// 20.2.2.22 Math.log2(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', { + log2: function log2(x){ + return Math.log(x) / Math.LN2; + } +}); +},{"22":22}],110:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', {sign: _dereq_(51)}); +},{"22":22,"51":51}],111:[function(_dereq_,module,exports){ +// 20.2.2.30 Math.sinh(x) +var $export = _dereq_(22) + , expm1 = _dereq_(49) + , exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * _dereq_(24)(function(){ + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x){ + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); +},{"22":22,"24":24,"49":49}],112:[function(_dereq_,module,exports){ +// 20.2.2.33 Math.tanh(x) +var $export = _dereq_(22) + , expm1 = _dereq_(49) + , exp = Math.exp; + +$export($export.S, 'Math', { + tanh: function tanh(x){ + var a = expm1(x = +x) + , b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); +},{"22":22,"49":49}],113:[function(_dereq_,module,exports){ +// 20.2.2.34 Math.trunc(x) +var $export = _dereq_(22); + +$export($export.S, 'Math', { + trunc: function trunc(it){ + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); +},{"22":22}],114:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , global = _dereq_(29) + , has = _dereq_(30) + , cof = _dereq_(11) + , toPrimitive = _dereq_(81) + , fails = _dereq_(24) + , $trim = _dereq_(74).trim + , NUMBER = 'Number' + , $Number = global[NUMBER] + , Base = $Number + , proto = $Number.prototype + // Opera ~12 has broken Object#toString + , BROKEN_COF = cof($.create(proto)) == NUMBER + , TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function(argument){ + var it = toPrimitive(argument, false); + if(typeof it == 'string' && it.length > 2){ + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0) + , third, radix, maxCode; + if(first === 43 || first === 45){ + third = it.charCodeAt(2); + if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if(first === 48){ + switch(it.charCodeAt(1)){ + case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default : return +it; + } + for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){ + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if(code < 48 || code > maxCode)return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){ + $Number = function Number(value){ + var it = arguments.length < 1 ? 0 : value + , that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER) + ? new Base(toNumber(it)) : toNumber(it); + }; + $.each.call(_dereq_(19) ? $.getNames(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), function(key){ + if(has(Base, key) && !has($Number, key)){ + $.setDesc($Number, key, $.getDesc(Base, key)); + } + }); + $Number.prototype = proto; + proto.constructor = $Number; + _dereq_(61)(global, NUMBER, $Number); +} +},{"11":11,"19":19,"24":24,"29":29,"30":30,"46":46,"61":61,"74":74,"81":81}],115:[function(_dereq_,module,exports){ +// 20.1.2.1 Number.EPSILON +var $export = _dereq_(22); + +$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); +},{"22":22}],116:[function(_dereq_,module,exports){ +// 20.1.2.2 Number.isFinite(number) +var $export = _dereq_(22) + , _isFinite = _dereq_(29).isFinite; + +$export($export.S, 'Number', { + isFinite: function isFinite(it){ + return typeof it == 'number' && _isFinite(it); + } +}); +},{"22":22,"29":29}],117:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var $export = _dereq_(22); + +$export($export.S, 'Number', {isInteger: _dereq_(37)}); +},{"22":22,"37":37}],118:[function(_dereq_,module,exports){ +// 20.1.2.4 Number.isNaN(number) +var $export = _dereq_(22); + +$export($export.S, 'Number', { + isNaN: function isNaN(number){ + return number != number; + } +}); +},{"22":22}],119:[function(_dereq_,module,exports){ +// 20.1.2.5 Number.isSafeInteger(number) +var $export = _dereq_(22) + , isInteger = _dereq_(37) + , abs = Math.abs; + +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number){ + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); +},{"22":22,"37":37}],120:[function(_dereq_,module,exports){ +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = _dereq_(22); + +$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); +},{"22":22}],121:[function(_dereq_,module,exports){ +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = _dereq_(22); + +$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); +},{"22":22}],122:[function(_dereq_,module,exports){ +// 20.1.2.12 Number.parseFloat(string) +var $export = _dereq_(22); + +$export($export.S, 'Number', {parseFloat: parseFloat}); +},{"22":22}],123:[function(_dereq_,module,exports){ +// 20.1.2.13 Number.parseInt(string, radix) +var $export = _dereq_(22); + +$export($export.S, 'Number', {parseInt: parseInt}); +},{"22":22}],124:[function(_dereq_,module,exports){ +// 19.1.3.1 Object.assign(target, source) +var $export = _dereq_(22); + +$export($export.S + $export.F, 'Object', {assign: _dereq_(53)}); +},{"22":22,"53":53}],125:[function(_dereq_,module,exports){ +// 19.1.2.5 Object.freeze(O) +var isObject = _dereq_(38); + +_dereq_(54)('freeze', function($freeze){ + return function freeze(it){ + return $freeze && isObject(it) ? $freeze(it) : it; + }; +}); +},{"38":38,"54":54}],126:[function(_dereq_,module,exports){ +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = _dereq_(78); + +_dereq_(54)('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){ + return function getOwnPropertyDescriptor(it, key){ + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); +},{"54":54,"78":78}],127:[function(_dereq_,module,exports){ +// 19.1.2.7 Object.getOwnPropertyNames(O) +_dereq_(54)('getOwnPropertyNames', function(){ + return _dereq_(28).get; +}); +},{"28":28,"54":54}],128:[function(_dereq_,module,exports){ +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = _dereq_(80); + +_dereq_(54)('getPrototypeOf', function($getPrototypeOf){ + return function getPrototypeOf(it){ + return $getPrototypeOf(toObject(it)); + }; +}); +},{"54":54,"80":80}],129:[function(_dereq_,module,exports){ +// 19.1.2.11 Object.isExtensible(O) +var isObject = _dereq_(38); + +_dereq_(54)('isExtensible', function($isExtensible){ + return function isExtensible(it){ + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); +},{"38":38,"54":54}],130:[function(_dereq_,module,exports){ +// 19.1.2.12 Object.isFrozen(O) +var isObject = _dereq_(38); + +_dereq_(54)('isFrozen', function($isFrozen){ + return function isFrozen(it){ + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); +},{"38":38,"54":54}],131:[function(_dereq_,module,exports){ +// 19.1.2.13 Object.isSealed(O) +var isObject = _dereq_(38); + +_dereq_(54)('isSealed', function($isSealed){ + return function isSealed(it){ + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); +},{"38":38,"54":54}],132:[function(_dereq_,module,exports){ +// 19.1.3.10 Object.is(value1, value2) +var $export = _dereq_(22); +$export($export.S, 'Object', {is: _dereq_(63)}); +},{"22":22,"63":63}],133:[function(_dereq_,module,exports){ +// 19.1.2.14 Object.keys(O) +var toObject = _dereq_(80); + +_dereq_(54)('keys', function($keys){ + return function keys(it){ + return $keys(toObject(it)); + }; +}); +},{"54":54,"80":80}],134:[function(_dereq_,module,exports){ +// 19.1.2.15 Object.preventExtensions(O) +var isObject = _dereq_(38); + +_dereq_(54)('preventExtensions', function($preventExtensions){ + return function preventExtensions(it){ + return $preventExtensions && isObject(it) ? $preventExtensions(it) : it; + }; +}); +},{"38":38,"54":54}],135:[function(_dereq_,module,exports){ +// 19.1.2.17 Object.seal(O) +var isObject = _dereq_(38); + +_dereq_(54)('seal', function($seal){ + return function seal(it){ + return $seal && isObject(it) ? $seal(it) : it; + }; +}); +},{"38":38,"54":54}],136:[function(_dereq_,module,exports){ +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = _dereq_(22); +$export($export.S, 'Object', {setPrototypeOf: _dereq_(64).set}); +},{"22":22,"64":64}],137:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.3.6 Object.prototype.toString() +var classof = _dereq_(10) + , test = {}; +test[_dereq_(83)('toStringTag')] = 'z'; +if(test + '' != '[object z]'){ + _dereq_(61)(Object.prototype, 'toString', function toString(){ + return '[object ' + classof(this) + ']'; + }, true); +} +},{"10":10,"61":61,"83":83}],138:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , LIBRARY = _dereq_(48) + , global = _dereq_(29) + , ctx = _dereq_(17) + , classof = _dereq_(10) + , $export = _dereq_(22) + , isObject = _dereq_(38) + , anObject = _dereq_(4) + , aFunction = _dereq_(2) + , strictNew = _dereq_(69) + , forOf = _dereq_(27) + , setProto = _dereq_(64).set + , same = _dereq_(63) + , SPECIES = _dereq_(83)('species') + , speciesConstructor = _dereq_(68) + , asap = _dereq_(52) + , PROMISE = 'Promise' + , process = global.process + , isNode = classof(process) == 'process' + , P = global[PROMISE] + , Wrapper; + +var testResolve = function(sub){ + var test = new P(function(){}); + if(sub)test.constructor = Object; + return P.resolve(test) === test; +}; + +var USE_NATIVE = function(){ + var works = false; + function P2(x){ + var self = new P(x); + setProto(self, P2.prototype); + return self; + } + try { + works = P && P.resolve && testResolve(); + setProto(P2, P); + P2.prototype = $.create(P.prototype, {constructor: {value: P2}}); + // actual Firefox has broken subclass support, test that + if(!(P2.resolve(5).then(function(){}) instanceof P2)){ + works = false; + } + // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162 + if(works && _dereq_(19)){ + var thenableThenGotten = false; + P.resolve($.setDesc({}, 'then', { + get: function(){ thenableThenGotten = true; } + })); + works = thenableThenGotten; + } + } catch(e){ works = false; } + return works; +}(); + +// helpers +var sameConstructor = function(a, b){ + // library wrapper special case + if(LIBRARY && a === P && b === Wrapper)return true; + return same(a, b); +}; +var getConstructor = function(C){ + var S = anObject(C)[SPECIES]; + return S != undefined ? S : C; +}; +var isThenable = function(it){ + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var PromiseCapability = function(C){ + var resolve, reject; + this.promise = new C(function($$resolve, $$reject){ + if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve), + this.reject = aFunction(reject) +}; +var perform = function(exec){ + try { + exec(); + } catch(e){ + return {error: e}; + } +}; +var notify = function(record, isReject){ + if(record.n)return; + record.n = true; + var chain = record.c; + asap(function(){ + var value = record.v + , ok = record.s == 1 + , i = 0; + var run = function(reaction){ + var handler = ok ? reaction.ok : reaction.fail + , resolve = reaction.resolve + , reject = reaction.reject + , result, then; + try { + if(handler){ + if(!ok)record.h = true; + result = handler === true ? value : handler(value); + if(result === reaction.promise){ + reject(TypeError('Promise-chain cycle')); + } else if(then = isThenable(result)){ + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch(e){ + reject(e); + } + }; + while(chain.length > i)run(chain[i++]); // variable length - can't use forEach + chain.length = 0; + record.n = false; + if(isReject)setTimeout(function(){ + var promise = record.p + , handler, console; + if(isUnhandled(promise)){ + if(isNode){ + process.emit('unhandledRejection', value, promise); + } else if(handler = global.onunhandledrejection){ + handler({promise: promise, reason: value}); + } else if((console = global.console) && console.error){ + console.error('Unhandled promise rejection', value); + } + } record.a = undefined; + }, 1); + }); +}; +var isUnhandled = function(promise){ + var record = promise._d + , chain = record.a || record.c + , i = 0 + , reaction; + if(record.h)return false; + while(chain.length > i){ + reaction = chain[i++]; + if(reaction.fail || !isUnhandled(reaction.promise))return false; + } return true; +}; +var $reject = function(value){ + var record = this; + if(record.d)return; + record.d = true; + record = record.r || record; // unwrap + record.v = value; + record.s = 2; + record.a = record.c.slice(); + notify(record, true); +}; +var $resolve = function(value){ + var record = this + , then; + if(record.d)return; + record.d = true; + record = record.r || record; // unwrap + try { + if(record.p === value)throw TypeError("Promise can't be resolved itself"); + if(then = isThenable(value)){ + asap(function(){ + var wrapper = {r: record, d: false}; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch(e){ + $reject.call(wrapper, e); + } + }); + } else { + record.v = value; + record.s = 1; + notify(record, false); + } + } catch(e){ + $reject.call({r: record, d: false}, e); // wrap + } +}; + +// constructor polyfill +if(!USE_NATIVE){ + // 25.4.3.1 Promise(executor) + P = function Promise(executor){ + aFunction(executor); + var record = this._d = { + p: strictNew(this, P, PROMISE), // <- promise + c: [], // <- awaiting reactions + a: undefined, // <- checked in isUnhandled reactions + s: 0, // <- state + d: false, // <- done + v: undefined, // <- value + h: false, // <- handled rejection + n: false // <- notify + }; + try { + executor(ctx($resolve, record, 1), ctx($reject, record, 1)); + } catch(err){ + $reject.call(record, err); + } + }; + _dereq_(60)(P.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected){ + var reaction = new PromiseCapability(speciesConstructor(this, P)) + , promise = reaction.promise + , record = this._d; + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + record.c.push(reaction); + if(record.a)record.a.push(reaction); + if(record.s)notify(record, false); + return promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function(onRejected){ + return this.then(undefined, onRejected); + } + }); +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P}); +_dereq_(66)(P, PROMISE); +_dereq_(65)(PROMISE); +Wrapper = _dereq_(16)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r){ + var capability = new PromiseCapability(this) + , $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x){ + // instanceof instead of internal slot check because we should fix it without replacement native Promise core + if(x instanceof P && sameConstructor(x.constructor, this))return x; + var capability = new PromiseCapability(this) + , $$resolve = capability.resolve; + $$resolve(x); + return capability.promise; + } +}); +$export($export.S + $export.F * !(USE_NATIVE && _dereq_(43)(function(iter){ + P.all(iter)['catch'](function(){}); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable){ + var C = getConstructor(this) + , capability = new PromiseCapability(C) + , resolve = capability.resolve + , reject = capability.reject + , values = []; + var abrupt = perform(function(){ + forOf(iterable, false, values.push, values); + var remaining = values.length + , results = Array(remaining); + if(remaining)$.each.call(values, function(promise, index){ + var alreadyCalled = false; + C.resolve(promise).then(function(value){ + if(alreadyCalled)return; + alreadyCalled = true; + results[index] = value; + --remaining || resolve(results); + }, reject); + }); + else resolve(results); + }); + if(abrupt)reject(abrupt.error); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable){ + var C = getConstructor(this) + , capability = new PromiseCapability(C) + , reject = capability.reject; + var abrupt = perform(function(){ + forOf(iterable, false, function(promise){ + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if(abrupt)reject(abrupt.error); + return capability.promise; + } +}); +},{"10":10,"16":16,"17":17,"19":19,"2":2,"22":22,"27":27,"29":29,"38":38,"4":4,"43":43,"46":46,"48":48,"52":52,"60":60,"63":63,"64":64,"65":65,"66":66,"68":68,"69":69,"83":83}],139:[function(_dereq_,module,exports){ +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = _dereq_(22) + , _apply = Function.apply; + +$export($export.S, 'Reflect', { + apply: function apply(target, thisArgument, argumentsList){ + return _apply.call(target, thisArgument, argumentsList); + } +}); +},{"22":22}],140:[function(_dereq_,module,exports){ +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $ = _dereq_(46) + , $export = _dereq_(22) + , aFunction = _dereq_(2) + , anObject = _dereq_(4) + , isObject = _dereq_(38) + , bind = Function.bind || _dereq_(16).Function.prototype.bind; + +// MS Edge supports only 2 arguments +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +$export($export.S + $export.F * _dereq_(24)(function(){ + function F(){} + return !(Reflect.construct(function(){}, [], F) instanceof F); +}), 'Reflect', { + construct: function construct(Target, args /*, newTarget*/){ + aFunction(Target); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if(Target == newTarget){ + // w/o altered newTarget, optimization for 0-4 arguments + if(args != undefined)switch(anObject(args).length){ + case 0: return new Target; + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args)); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype + , instance = $.create(isObject(proto) ? proto : Object.prototype) + , result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); +},{"16":16,"2":2,"22":22,"24":24,"38":38,"4":4,"46":46}],141:[function(_dereq_,module,exports){ +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var $ = _dereq_(46) + , $export = _dereq_(22) + , anObject = _dereq_(4); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * _dereq_(24)(function(){ + Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2}); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes){ + anObject(target); + try { + $.setDesc(target, propertyKey, attributes); + return true; + } catch(e){ + return false; + } + } +}); +},{"22":22,"24":24,"4":4,"46":46}],142:[function(_dereq_,module,exports){ +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = _dereq_(22) + , getDesc = _dereq_(46).getDesc + , anObject = _dereq_(4); + +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey){ + var desc = getDesc(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); +},{"22":22,"4":4,"46":46}],143:[function(_dereq_,module,exports){ +'use strict'; +// 26.1.5 Reflect.enumerate(target) +var $export = _dereq_(22) + , anObject = _dereq_(4); +var Enumerate = function(iterated){ + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = [] // keys + , key; + for(key in iterated)keys.push(key); +}; +_dereq_(41)(Enumerate, 'Object', function(){ + var that = this + , keys = that._k + , key; + do { + if(that._i >= keys.length)return {value: undefined, done: true}; + } while(!((key = keys[that._i++]) in that._t)); + return {value: key, done: false}; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target){ + return new Enumerate(target); + } +}); +},{"22":22,"4":4,"41":41}],144:[function(_dereq_,module,exports){ +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var $ = _dereq_(46) + , $export = _dereq_(22) + , anObject = _dereq_(4); + +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ + return $.getDesc(anObject(target), propertyKey); + } +}); +},{"22":22,"4":4,"46":46}],145:[function(_dereq_,module,exports){ +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = _dereq_(22) + , getProto = _dereq_(46).getProto + , anObject = _dereq_(4); + +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target){ + return getProto(anObject(target)); + } +}); +},{"22":22,"4":4,"46":46}],146:[function(_dereq_,module,exports){ +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var $ = _dereq_(46) + , has = _dereq_(30) + , $export = _dereq_(22) + , isObject = _dereq_(38) + , anObject = _dereq_(4); + +function get(target, propertyKey/*, receiver*/){ + var receiver = arguments.length < 3 ? target : arguments[2] + , desc, proto; + if(anObject(target) === receiver)return target[propertyKey]; + if(desc = $.getDesc(target, propertyKey))return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', {get: get}); +},{"22":22,"30":30,"38":38,"4":4,"46":46}],147:[function(_dereq_,module,exports){ +// 26.1.9 Reflect.has(target, propertyKey) +var $export = _dereq_(22); + +$export($export.S, 'Reflect', { + has: function has(target, propertyKey){ + return propertyKey in target; + } +}); +},{"22":22}],148:[function(_dereq_,module,exports){ +// 26.1.10 Reflect.isExtensible(target) +var $export = _dereq_(22) + , anObject = _dereq_(4) + , $isExtensible = Object.isExtensible; + +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target){ + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); +},{"22":22,"4":4}],149:[function(_dereq_,module,exports){ +// 26.1.11 Reflect.ownKeys(target) +var $export = _dereq_(22); + +$export($export.S, 'Reflect', {ownKeys: _dereq_(56)}); +},{"22":22,"56":56}],150:[function(_dereq_,module,exports){ +// 26.1.12 Reflect.preventExtensions(target) +var $export = _dereq_(22) + , anObject = _dereq_(4) + , $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target){ + anObject(target); + try { + if($preventExtensions)$preventExtensions(target); + return true; + } catch(e){ + return false; + } + } +}); +},{"22":22,"4":4}],151:[function(_dereq_,module,exports){ +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = _dereq_(22) + , setProto = _dereq_(64); + +if(setProto)$export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto){ + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch(e){ + return false; + } + } +}); +},{"22":22,"64":64}],152:[function(_dereq_,module,exports){ +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var $ = _dereq_(46) + , has = _dereq_(30) + , $export = _dereq_(22) + , createDesc = _dereq_(59) + , anObject = _dereq_(4) + , isObject = _dereq_(38); + +function set(target, propertyKey, V/*, receiver*/){ + var receiver = arguments.length < 4 ? target : arguments[3] + , ownDesc = $.getDesc(anObject(target), propertyKey) + , existingDescriptor, proto; + if(!ownDesc){ + if(isObject(proto = $.getProto(target))){ + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if(has(ownDesc, 'value')){ + if(ownDesc.writable === false || !isObject(receiver))return false; + existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0); + existingDescriptor.value = V; + $.setDesc(receiver, propertyKey, existingDescriptor); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', {set: set}); +},{"22":22,"30":30,"38":38,"4":4,"46":46,"59":59}],153:[function(_dereq_,module,exports){ +var $ = _dereq_(46) + , global = _dereq_(29) + , isRegExp = _dereq_(39) + , $flags = _dereq_(26) + , $RegExp = global.RegExp + , Base = $RegExp + , proto = $RegExp.prototype + , re1 = /a/g + , re2 = /a/g + // "new" creates a new object, old webkit buggy here + , CORRECT_NEW = new $RegExp(re1) !== re1; + +if(_dereq_(19) && (!CORRECT_NEW || _dereq_(24)(function(){ + re2[_dereq_(83)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))){ + $RegExp = function RegExp(p, f){ + var piRE = isRegExp(p) + , fiU = f === undefined; + return !(this instanceof $RegExp) && piRE && p.constructor === $RegExp && fiU ? p + : CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f); + }; + $.each.call($.getNames(Base), function(key){ + key in $RegExp || $.setDesc($RegExp, key, { + configurable: true, + get: function(){ return Base[key]; }, + set: function(it){ Base[key] = it; } + }); + }); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + _dereq_(61)(global, 'RegExp', $RegExp); +} + +_dereq_(65)('RegExp'); +},{"19":19,"24":24,"26":26,"29":29,"39":39,"46":46,"61":61,"65":65,"83":83}],154:[function(_dereq_,module,exports){ +// 21.2.5.3 get RegExp.prototype.flags() +var $ = _dereq_(46); +if(_dereq_(19) && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', { + configurable: true, + get: _dereq_(26) +}); +},{"19":19,"26":26,"46":46}],155:[function(_dereq_,module,exports){ +// @@match logic +_dereq_(25)('match', 1, function(defined, MATCH){ + // 21.1.3.11 String.prototype.match(regexp) + return function match(regexp){ + 'use strict'; + var O = defined(this) + , fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }; +}); +},{"25":25}],156:[function(_dereq_,module,exports){ +// @@replace logic +_dereq_(25)('replace', 2, function(defined, REPLACE, $replace){ + // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) + return function replace(searchValue, replaceValue){ + 'use strict'; + var O = defined(this) + , fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined + ? fn.call(searchValue, O, replaceValue) + : $replace.call(String(O), searchValue, replaceValue); + }; +}); +},{"25":25}],157:[function(_dereq_,module,exports){ +// @@search logic +_dereq_(25)('search', 1, function(defined, SEARCH){ + // 21.1.3.15 String.prototype.search(regexp) + return function search(regexp){ + 'use strict'; + var O = defined(this) + , fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }; +}); +},{"25":25}],158:[function(_dereq_,module,exports){ +// @@split logic +_dereq_(25)('split', 2, function(defined, SPLIT, $split){ + // 21.1.3.17 String.prototype.split(separator, limit) + return function split(separator, limit){ + 'use strict'; + var O = defined(this) + , fn = separator == undefined ? undefined : separator[SPLIT]; + return fn !== undefined + ? fn.call(separator, O, limit) + : $split.call(String(O), separator, limit); + }; +}); +},{"25":25}],159:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(12); + +// 23.2 Set Objects +_dereq_(15)('Set', function(get){ + return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value){ + return strong.def(this, value = value === 0 ? 0 : value, value); + } +}, strong); +},{"12":12,"15":15}],160:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(22) + , $at = _dereq_(70)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos){ + return $at(this, pos); + } +}); +},{"22":22,"70":70}],161:[function(_dereq_,module,exports){ +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) +'use strict'; +var $export = _dereq_(22) + , toLength = _dereq_(79) + , context = _dereq_(71) + , ENDS_WITH = 'endsWith' + , $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * _dereq_(23)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /*, endPosition = @length */){ + var that = context(this, searchString, ENDS_WITH) + , $$ = arguments + , endPosition = $$.length > 1 ? $$[1] : undefined + , len = toLength(that.length) + , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) + , search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); +},{"22":22,"23":23,"71":71,"79":79}],162:[function(_dereq_,module,exports){ +var $export = _dereq_(22) + , toIndex = _dereq_(76) + , fromCharCode = String.fromCharCode + , $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars + var res = [] + , $$ = arguments + , $$len = $$.length + , i = 0 + , code; + while($$len > i){ + code = +$$[i++]; + if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); +},{"22":22,"76":76}],163:[function(_dereq_,module,exports){ +// 21.1.3.7 String.prototype.includes(searchString, position = 0) +'use strict'; +var $export = _dereq_(22) + , context = _dereq_(71) + , INCLUDES = 'includes'; + +$export($export.P + $export.F * _dereq_(23)(INCLUDES), 'String', { + includes: function includes(searchString /*, position = 0 */){ + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); +},{"22":22,"23":23,"71":71}],164:[function(_dereq_,module,exports){ +'use strict'; +var $at = _dereq_(70)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +_dereq_(42)(String, 'String', function(iterated){ + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function(){ + var O = this._t + , index = this._i + , point; + if(index >= O.length)return {value: undefined, done: true}; + point = $at(O, index); + this._i += point.length; + return {value: point, done: false}; +}); +},{"42":42,"70":70}],165:[function(_dereq_,module,exports){ +var $export = _dereq_(22) + , toIObject = _dereq_(78) + , toLength = _dereq_(79); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite){ + var tpl = toIObject(callSite.raw) + , len = toLength(tpl.length) + , $$ = arguments + , $$len = $$.length + , res = [] + , i = 0; + while(len > i){ + res.push(String(tpl[i++])); + if(i < $$len)res.push(String($$[i])); + } return res.join(''); + } +}); +},{"22":22,"78":78,"79":79}],166:[function(_dereq_,module,exports){ +var $export = _dereq_(22); + +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: _dereq_(73) +}); +},{"22":22,"73":73}],167:[function(_dereq_,module,exports){ +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) +'use strict'; +var $export = _dereq_(22) + , toLength = _dereq_(79) + , context = _dereq_(71) + , STARTS_WITH = 'startsWith' + , $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * _dereq_(23)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /*, position = 0 */){ + var that = context(this, searchString, STARTS_WITH) + , $$ = arguments + , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length)) + , search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); +},{"22":22,"23":23,"71":71,"79":79}],168:[function(_dereq_,module,exports){ +'use strict'; +// 21.1.3.25 String.prototype.trim() +_dereq_(74)('trim', function($trim){ + return function trim(){ + return $trim(this, 3); + }; +}); +},{"74":74}],169:[function(_dereq_,module,exports){ +'use strict'; +// ECMAScript 6 symbols shim +var $ = _dereq_(46) + , global = _dereq_(29) + , has = _dereq_(30) + , DESCRIPTORS = _dereq_(19) + , $export = _dereq_(22) + , redefine = _dereq_(61) + , $fails = _dereq_(24) + , shared = _dereq_(67) + , setToStringTag = _dereq_(66) + , uid = _dereq_(82) + , wks = _dereq_(83) + , keyOf = _dereq_(47) + , $names = _dereq_(28) + , enumKeys = _dereq_(21) + , isArray = _dereq_(36) + , anObject = _dereq_(4) + , toIObject = _dereq_(78) + , createDesc = _dereq_(59) + , getDesc = $.getDesc + , setDesc = $.setDesc + , _create = $.create + , getNames = $names.get + , $Symbol = global.Symbol + , $JSON = global.JSON + , _stringify = $JSON && $JSON.stringify + , setter = false + , HIDDEN = wks('_hidden') + , isEnum = $.isEnum + , SymbolRegistry = shared('symbol-registry') + , AllSymbols = shared('symbols') + , useNative = typeof $Symbol == 'function' + , ObjectProto = Object.prototype; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function(){ + return _create(setDesc({}, 'a', { + get: function(){ return setDesc(this, 'a', {value: 7}).a; } + })).a != 7; +}) ? function(it, key, D){ + var protoDesc = getDesc(ObjectProto, key); + if(protoDesc)delete ObjectProto[key]; + setDesc(it, key, D); + if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc); +} : setDesc; + +var wrap = function(tag){ + var sym = AllSymbols[tag] = _create($Symbol.prototype); + sym._k = tag; + DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, { + configurable: true, + set: function(value){ + if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + } + }); + return sym; +}; + +var isSymbol = function(it){ + return typeof it == 'symbol'; +}; + +var $defineProperty = function defineProperty(it, key, D){ + if(D && has(AllSymbols, key)){ + if(!D.enumerable){ + if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; + D = _create(D, {enumerable: createDesc(0, false)}); + } return setSymbolDesc(it, key, D); + } return setDesc(it, key, D); +}; +var $defineProperties = function defineProperties(it, P){ + anObject(it); + var keys = enumKeys(P = toIObject(P)) + , i = 0 + , l = keys.length + , key; + while(l > i)$defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P){ + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key){ + var E = isEnum.call(this, key); + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] + ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ + var D = getDesc(it = toIObject(it), key); + if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it){ + var names = getNames(toIObject(it)) + , result = [] + , i = 0 + , key; + while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key); + return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ + var names = getNames(toIObject(it)) + , result = [] + , i = 0 + , key; + while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]); + return result; +}; +var $stringify = function stringify(it){ + if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined + var args = [it] + , i = 1 + , $$ = arguments + , replacer, $replacer; + while($$.length > i)args.push($$[i++]); + replacer = args[1]; + if(typeof replacer == 'function')$replacer = replacer; + if($replacer || !isArray(replacer))replacer = function(key, value){ + if($replacer)value = $replacer.call(this, key, value); + if(!isSymbol(value))return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); +}; +var buggyJSON = $fails(function(){ + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; +}); + +// 19.4.1.1 Symbol([description]) +if(!useNative){ + $Symbol = function Symbol(){ + if(isSymbol(this))throw TypeError('Symbol is not a constructor'); + return wrap(uid(arguments.length > 0 ? arguments[0] : undefined)); + }; + redefine($Symbol.prototype, 'toString', function toString(){ + return this._k; + }); + + isSymbol = function(it){ + return it instanceof $Symbol; + }; + + $.create = $create; + $.isEnum = $propertyIsEnumerable; + $.getDesc = $getOwnPropertyDescriptor; + $.setDesc = $defineProperty; + $.setDescs = $defineProperties; + $.getNames = $names.get = $getOwnPropertyNames; + $.getSymbols = $getOwnPropertySymbols; + + if(DESCRIPTORS && !_dereq_(48)){ + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } +} + +var symbolStatics = { + // 19.4.2.1 Symbol.for(key) + 'for': function(key){ + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(key){ + return keyOf(SymbolRegistry, key); + }, + useSetter: function(){ setter = true; }, + useSimple: function(){ setter = false; } +}; +// 19.4.2.2 Symbol.hasInstance +// 19.4.2.3 Symbol.isConcatSpreadable +// 19.4.2.4 Symbol.iterator +// 19.4.2.6 Symbol.match +// 19.4.2.8 Symbol.replace +// 19.4.2.9 Symbol.search +// 19.4.2.10 Symbol.species +// 19.4.2.11 Symbol.split +// 19.4.2.12 Symbol.toPrimitive +// 19.4.2.13 Symbol.toStringTag +// 19.4.2.14 Symbol.unscopables +$.each.call(( + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + + 'species,split,toPrimitive,toStringTag,unscopables' +).split(','), function(it){ + var sym = wks(it); + symbolStatics[it] = useNative ? sym : wrap(sym); +}); + +setter = true; + +$export($export.G + $export.W, {Symbol: $Symbol}); + +$export($export.S, 'Symbol', symbolStatics); + +$export($export.S + $export.F * !useNative, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify}); + +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); +},{"19":19,"21":21,"22":22,"24":24,"28":28,"29":29,"30":30,"36":36,"4":4,"46":46,"47":47,"48":48,"59":59,"61":61,"66":66,"67":67,"78":78,"82":82,"83":83}],170:[function(_dereq_,module,exports){ +'use strict'; +var $ = _dereq_(46) + , redefine = _dereq_(61) + , weak = _dereq_(14) + , isObject = _dereq_(38) + , has = _dereq_(30) + , frozenStore = weak.frozenStore + , WEAK = weak.WEAK + , isExtensible = Object.isExtensible || isObject + , tmp = {}; + +// 23.3 WeakMap Objects +var $WeakMap = _dereq_(15)('WeakMap', function(get){ + return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key){ + if(isObject(key)){ + if(!isExtensible(key))return frozenStore(this).get(key); + if(has(key, WEAK))return key[WEAK][this._i]; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value){ + return weak.def(this, key, value); + } +}, weak, true, true); + +// IE11 WeakMap frozen keys fix +if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ + $.each.call(['delete', 'has', 'get', 'set'], function(key){ + var proto = $WeakMap.prototype + , method = proto[key]; + redefine(proto, key, function(a, b){ + // store frozen objects on leaky map + if(isObject(a) && !isExtensible(a)){ + var result = frozenStore(this)[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} +},{"14":14,"15":15,"30":30,"38":38,"46":46,"61":61}],171:[function(_dereq_,module,exports){ +'use strict'; +var weak = _dereq_(14); + +// 23.4 WeakSet Objects +_dereq_(15)('WeakSet', function(get){ + return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value){ + return weak.def(this, value, true); + } +}, weak, false, true); +},{"14":14,"15":15}],172:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(22) + , $includes = _dereq_(7)(true); + +$export($export.P, 'Array', { + // https://github.com/domenic/Array.prototype.includes + includes: function includes(el /*, fromIndex = 0 */){ + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +_dereq_(3)('includes'); +},{"22":22,"3":3,"7":7}],173:[function(_dereq_,module,exports){ +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = _dereq_(22); + +$export($export.P, 'Map', {toJSON: _dereq_(13)('Map')}); +},{"13":13,"22":22}],174:[function(_dereq_,module,exports){ +// http://goo.gl/XkBrjD +var $export = _dereq_(22) + , $entries = _dereq_(55)(true); + +$export($export.S, 'Object', { + entries: function entries(it){ + return $entries(it); + } +}); +},{"22":22,"55":55}],175:[function(_dereq_,module,exports){ +// https://gist.github.com/WebReflection/9353781 +var $ = _dereq_(46) + , $export = _dereq_(22) + , ownKeys = _dereq_(56) + , toIObject = _dereq_(78) + , createDesc = _dereq_(59); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ + var O = toIObject(object) + , setDesc = $.setDesc + , getDesc = $.getDesc + , keys = ownKeys(O) + , result = {} + , i = 0 + , key, D; + while(keys.length > i){ + D = getDesc(O, key = keys[i++]); + if(key in result)setDesc(result, key, createDesc(0, D)); + else result[key] = D; + } return result; + } +}); +},{"22":22,"46":46,"56":56,"59":59,"78":78}],176:[function(_dereq_,module,exports){ +// http://goo.gl/XkBrjD +var $export = _dereq_(22) + , $values = _dereq_(55)(false); + +$export($export.S, 'Object', { + values: function values(it){ + return $values(it); + } +}); +},{"22":22,"55":55}],177:[function(_dereq_,module,exports){ +// https://github.com/benjamingr/RexExp.escape +var $export = _dereq_(22) + , $re = _dereq_(62)(/[\\^$*+?.()|[\]{}]/g, '\\$&'); + +$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); + +},{"22":22,"62":62}],178:[function(_dereq_,module,exports){ +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = _dereq_(22); + +$export($export.P, 'Set', {toJSON: _dereq_(13)('Set')}); +},{"13":13,"22":22}],179:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/mathiasbynens/String.prototype.at +var $export = _dereq_(22) + , $at = _dereq_(70)(true); + +$export($export.P, 'String', { + at: function at(pos){ + return $at(this, pos); + } +}); +},{"22":22,"70":70}],180:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(22) + , $pad = _dereq_(72); + +$export($export.P, 'String', { + padLeft: function padLeft(maxLength /*, fillString = ' ' */){ + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); +},{"22":22,"72":72}],181:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(22) + , $pad = _dereq_(72); + +$export($export.P, 'String', { + padRight: function padRight(maxLength /*, fillString = ' ' */){ + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); +},{"22":22,"72":72}],182:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +_dereq_(74)('trimLeft', function($trim){ + return function trimLeft(){ + return $trim(this, 1); + }; +}); +},{"74":74}],183:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/sebmarkbage/ecmascript-string-left-right-trim +_dereq_(74)('trimRight', function($trim){ + return function trimRight(){ + return $trim(this, 2); + }; +}); +},{"74":74}],184:[function(_dereq_,module,exports){ +// JavaScript 1.6 / Strawman array statics shim +var $ = _dereq_(46) + , $export = _dereq_(22) + , $ctx = _dereq_(17) + , $Array = _dereq_(16).Array || Array + , statics = {}; +var setStatics = function(keys, length){ + $.each.call(keys.split(','), function(key){ + if(length == undefined && key in $Array)statics[key] = $Array[key]; + else if(key in [])statics[key] = $ctx(Function.call, [][key], length); + }); +}; +setStatics('pop,reverse,shift,keys,values,entries', 1); +setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3); +setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' + + 'reduce,reduceRight,copyWithin,fill'); +$export($export.S, 'Array', statics); +},{"16":16,"17":17,"22":22,"46":46}],185:[function(_dereq_,module,exports){ +_dereq_(91); +var global = _dereq_(29) + , hide = _dereq_(31) + , Iterators = _dereq_(45) + , ITERATOR = _dereq_(83)('iterator') + , NL = global.NodeList + , HTC = global.HTMLCollection + , NLProto = NL && NL.prototype + , HTCProto = HTC && HTC.prototype + , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array; +if(NLProto && !NLProto[ITERATOR])hide(NLProto, ITERATOR, ArrayValues); +if(HTCProto && !HTCProto[ITERATOR])hide(HTCProto, ITERATOR, ArrayValues); +},{"29":29,"31":31,"45":45,"83":83,"91":91}],186:[function(_dereq_,module,exports){ +var $export = _dereq_(22) + , $task = _dereq_(75); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); +},{"22":22,"75":75}],187:[function(_dereq_,module,exports){ +// ie9- setTimeout & setInterval additional parameters fix +var global = _dereq_(29) + , $export = _dereq_(22) + , invoke = _dereq_(33) + , partial = _dereq_(57) + , navigator = global.navigator + , MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check +var wrap = function(set){ + return MSIE ? function(fn, time /*, ...args */){ + return set(invoke( + partial, + [].slice.call(arguments, 2), + typeof fn == 'function' ? fn : Function(fn) + ), time); + } : set; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); +},{"22":22,"29":29,"33":33,"57":57}],188:[function(_dereq_,module,exports){ +_dereq_(85); +_dereq_(169); +_dereq_(124); +_dereq_(132); +_dereq_(136); +_dereq_(137); +_dereq_(125); +_dereq_(135); +_dereq_(134); +_dereq_(130); +_dereq_(131); +_dereq_(129); +_dereq_(126); +_dereq_(128); +_dereq_(133); +_dereq_(127); +_dereq_(95); +_dereq_(94); +_dereq_(114); +_dereq_(115); +_dereq_(116); +_dereq_(117); +_dereq_(118); +_dereq_(119); +_dereq_(120); +_dereq_(121); +_dereq_(122); +_dereq_(123); +_dereq_(97); +_dereq_(98); +_dereq_(99); +_dereq_(100); +_dereq_(101); +_dereq_(102); +_dereq_(103); +_dereq_(104); +_dereq_(105); +_dereq_(106); +_dereq_(107); +_dereq_(108); +_dereq_(109); +_dereq_(110); +_dereq_(111); +_dereq_(112); +_dereq_(113); +_dereq_(162); +_dereq_(165); +_dereq_(168); +_dereq_(164); +_dereq_(160); +_dereq_(161); +_dereq_(163); +_dereq_(166); +_dereq_(167); +_dereq_(90); +_dereq_(92); +_dereq_(91); +_dereq_(93); +_dereq_(86); +_dereq_(87); +_dereq_(89); +_dereq_(88); +_dereq_(153); +_dereq_(154); +_dereq_(155); +_dereq_(156); +_dereq_(157); +_dereq_(158); +_dereq_(138); +_dereq_(96); +_dereq_(159); +_dereq_(170); +_dereq_(171); +_dereq_(139); +_dereq_(140); +_dereq_(141); +_dereq_(142); +_dereq_(143); +_dereq_(146); +_dereq_(144); +_dereq_(145); +_dereq_(147); +_dereq_(148); +_dereq_(149); +_dereq_(150); +_dereq_(152); +_dereq_(151); +_dereq_(172); +_dereq_(179); +_dereq_(180); +_dereq_(181); +_dereq_(182); +_dereq_(183); +_dereq_(177); +_dereq_(175); +_dereq_(176); +_dereq_(174); +_dereq_(173); +_dereq_(178); +_dereq_(184); +_dereq_(187); +_dereq_(186); +_dereq_(185); +module.exports = _dereq_(16); +},{"100":100,"101":101,"102":102,"103":103,"104":104,"105":105,"106":106,"107":107,"108":108,"109":109,"110":110,"111":111,"112":112,"113":113,"114":114,"115":115,"116":116,"117":117,"118":118,"119":119,"120":120,"121":121,"122":122,"123":123,"124":124,"125":125,"126":126,"127":127,"128":128,"129":129,"130":130,"131":131,"132":132,"133":133,"134":134,"135":135,"136":136,"137":137,"138":138,"139":139,"140":140,"141":141,"142":142,"143":143,"144":144,"145":145,"146":146,"147":147,"148":148,"149":149,"150":150,"151":151,"152":152,"153":153,"154":154,"155":155,"156":156,"157":157,"158":158,"159":159,"16":16,"160":160,"161":161,"162":162,"163":163,"164":164,"165":165,"166":166,"167":167,"168":168,"169":169,"170":170,"171":171,"172":172,"173":173,"174":174,"175":175,"176":176,"177":177,"178":178,"179":179,"180":180,"181":181,"182":182,"183":183,"184":184,"185":185,"186":186,"187":187,"85":85,"86":86,"87":87,"88":88,"89":89,"90":90,"91":91,"92":92,"93":93,"94":94,"95":95,"96":96,"97":97,"98":98,"99":99}],189:[function(_dereq_,module,exports){ +(function (global){ +/** + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * https://raw.github.com/facebook/regenerator/master/LICENSE file. An + * additional grant of patent rights can be found in the PATENTS file in + * the same directory. + */ + +!(function(global) { + "use strict"; + + var hasOwn = Object.prototype.hasOwnProperty; + var undefined; // More compressible than void 0. + var iteratorSymbol = + typeof Symbol === "function" && Symbol.iterator || "@@iterator"; + + var inModule = typeof module === "object"; + var runtime = global.regeneratorRuntime; + if (runtime) { + if (inModule) { + // If regeneratorRuntime is defined globally and we're in a module, + // make the exports object identical to regeneratorRuntime. + module.exports = runtime; + } + // Don't bother evaluating the rest of this file if the runtime was + // already defined globally. + return; + } + + // Define the runtime globally (as expected by generated code) as either + // module.exports (if we're in a module) or a new, empty object. + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided, then outerFn.prototype instanceof Generator. + var generator = Object.create((outerFn || Generator).prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + runtime.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype; + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + runtime.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + runtime.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `value instanceof AwaitArgument` to determine if the yielded value is + // meant to be awaited. Some may consider the name of this method too + // cutesy, but they are curmudgeons. + runtime.awrap = function(arg) { + return new AwaitArgument(arg); + }; + + function AwaitArgument(arg) { + this.arg = arg; + } + + function AsyncIterator(generator) { + // This invoke function is written in a style that assumes some + // calling function (or Promise) will handle exceptions. + function invoke(method, arg) { + var result = generator[method](arg); + var value = result.value; + return value instanceof AwaitArgument + ? Promise.resolve(value.arg).then(invokeNext, invokeThrow) + : Promise.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. If the Promise is rejected, however, the + // result for this iteration will be rejected with the same + // reason. Note that rejections of yielded Promises are not + // thrown back into the generator function, as is the case + // when an awaited Promise is rejected. This difference in + // behavior between yield and await is important, because it + // allows the consumer to decide what to do with the yielded + // rejection (swallow it and continue, manually .throw it back + // into the generator, abandon iteration, whatever). With + // await, by contrast, there is no opportunity to examine the + // rejection reason outside the generator function, so the + // only option is to throw it from the await expression, and + // let the generator function handle the exception. + result.value = unwrapped; + return result; + }); + } + + if (typeof process === "object" && process.domain) { + invoke = process.domain.bind(invoke); + } + + var invokeNext = invoke.bind(generator, "next"); + var invokeThrow = invoke.bind(generator, "throw"); + var invokeReturn = invoke.bind(generator, "return"); + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return invoke(method, arg); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : new Promise(function (resolve) { + resolve(callInvokeWithMethodAndArg()); + }); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + runtime.async = function(innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList) + ); + + return runtime.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + while (true) { + var delegate = context.delegate; + if (delegate) { + if (method === "return" || + (method === "throw" && delegate.iterator[method] === undefined)) { + // A return or throw (when the delegate iterator has no throw + // method) always terminates the yield* loop. + context.delegate = null; + + // If the delegate iterator has a return method, give it a + // chance to clean up. + var returnMethod = delegate.iterator["return"]; + if (returnMethod) { + var record = tryCatch(returnMethod, delegate.iterator, arg); + if (record.type === "throw") { + // If the return method threw an exception, let that + // exception prevail over the original return or throw. + method = "throw"; + arg = record.arg; + continue; + } + } + + if (method === "return") { + // Continue with the outer return, now that the delegate + // iterator has been terminated. + continue; + } + } + + var record = tryCatch( + delegate.iterator[method], + delegate.iterator, + arg + ); + + if (record.type === "throw") { + context.delegate = null; + + // Like returning generator.throw(uncaught), but without the + // overhead of an extra function call. + method = "throw"; + arg = record.arg; + continue; + } + + // Delegate generator ran and handled its own exceptions so + // regardless of what the method was, we continue as if it is + // "next" with an undefined arg. + method = "next"; + arg = undefined; + + var info = record.arg; + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + } else { + state = GenStateSuspendedYield; + return info; + } + + context.delegate = null; + } + + if (method === "next") { + if (state === GenStateSuspendedYield) { + context.sent = arg; + } else { + context.sent = undefined; + } + + } else if (method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw arg; + } + + if (context.dispatchException(arg)) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + method = "next"; + arg = undefined; + } + + } else if (method === "return") { + context.abrupt("return", arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + var info = { + value: record.arg, + done: context.done + }; + + if (record.arg === ContinueSentinel) { + if (context.delegate && method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + arg = undefined; + } + } else { + return info; + } + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(arg) call above. + method = "throw"; + arg = record.arg; + } + } + }; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + runtime.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + runtime.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + this.sent = undefined; + this.done = false; + this.delegate = null; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.next = finallyEntry.finallyLoc; + } else { + this.complete(record); + } + + return ContinueSentinel; + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = record.arg; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + return ContinueSentinel; + } + }; +})( + // Among the various tricks for obtaining a reference to the global + // object, this seems to be the most reliable technique that does not + // use indirect eval (which violates Content Security Policy). + typeof global === "object" ? global : + typeof window === "object" ? window : + typeof self === "object" ? self : this +); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}]},{},[1]); diff --git a/web/static/js/babel-polyfill-6.1.18.min.js b/web/static/js/babel-polyfill-6.1.18.min.js new file mode 100644 index 000000000..bb9dbd1b0 --- /dev/null +++ b/web/static/js/babel-polyfill-6.1.18.min.js @@ -0,0 +1,2 @@ +!function t(n,r,e){function o(u,c){if(!r[u]){if(!n[u]){var a="function"==typeof require&&require;if(!c&&a)return a(u,!0);if(i)return i(u,!0);var s=new Error("Cannot find module '"+u+"'");throw s.code="MODULE_NOT_FOUND",s}var f=r[u]={exports:{}};n[u][0].call(f.exports,function(t){var r=n[u][1][t];return o(r?r:t)},f,f.exports,t,n,r,e)}return r[u].exports}for(var i="function"==typeof require&&require,u=0;u<e.length;u++)o(e[u]);return o}({1:[function(t,n,r){(function(n){"use strict";if(t(188),t(189),n._babelPolyfill)throw new Error("only one instance of babel/polyfill is allowed");n._babelPolyfill=!0}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{188:188,189:189}],2:[function(t,n,r){n.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},{}],3:[function(t,n,r){var e=t(83)("unscopables"),o=Array.prototype;void 0==o[e]&&t(31)(o,e,{}),n.exports=function(t){o[e][t]=!0}},{31:31,83:83}],4:[function(t,n,r){var e=t(38);n.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},{38:38}],5:[function(t,n,r){"use strict";var e=t(80),o=t(76),i=t(79);n.exports=[].copyWithin||function(t,n){var r=e(this),u=i(r.length),c=o(t,u),a=o(n,u),s=arguments,f=s.length>2?s[2]:void 0,l=Math.min((void 0===f?u:o(f,u))-a,u-c),h=1;for(c>a&&a+l>c&&(h=-1,a+=l-1,c+=l-1);l-->0;)a in r?r[c]=r[a]:delete r[c],c+=h,a+=h;return r}},{76:76,79:79,80:80}],6:[function(t,n,r){"use strict";var e=t(80),o=t(76),i=t(79);n.exports=[].fill||function(t){for(var n=e(this),r=i(n.length),u=arguments,c=u.length,a=o(c>1?u[1]:void 0,r),s=c>2?u[2]:void 0,f=void 0===s?r:o(s,r);f>a;)n[a++]=t;return n}},{76:76,79:79,80:80}],7:[function(t,n,r){var e=t(78),o=t(79),i=t(76);n.exports=function(t){return function(n,r,u){var c,a=e(n),s=o(a.length),f=i(u,s);if(t&&r!=r){for(;s>f;)if(c=a[f++],c!=c)return!0}else for(;s>f;f++)if((t||f in a)&&a[f]===r)return t||f;return!t&&-1}}},{76:76,78:78,79:79}],8:[function(t,n,r){var e=t(17),o=t(34),i=t(80),u=t(79),c=t(9);n.exports=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,f=6==t,l=5==t||f;return function(h,p,v){for(var g,y,d=i(h),m=o(d),S=e(p,v,3),b=u(m.length),w=0,x=n?c(h,b):r?c(h,0):void 0;b>w;w++)if((l||w in m)&&(g=m[w],y=S(g,w,d),t))if(n)x[w]=y;else if(y)switch(t){case 3:return!0;case 5:return g;case 6:return w;case 2:x.push(g)}else if(s)return!1;return f?-1:a||s?s:x}}},{17:17,34:34,79:79,80:80,9:9}],9:[function(t,n,r){var e=t(38),o=t(36),i=t(83)("species");n.exports=function(t,n){var r;return o(t)&&(r=t.constructor,"function"!=typeof r||r!==Array&&!o(r.prototype)||(r=void 0),e(r)&&(r=r[i],null===r&&(r=void 0))),new(void 0===r?Array:r)(n)}},{36:36,38:38,83:83}],10:[function(t,n,r){var e=t(11),o=t(83)("toStringTag"),i="Arguments"==e(function(){return arguments}());n.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=(n=Object(t))[o])?r:i?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},{11:11,83:83}],11:[function(t,n,r){var e={}.toString;n.exports=function(t){return e.call(t).slice(8,-1)}},{}],12:[function(t,n,r){"use strict";var e=t(46),o=t(31),i=t(60),u=t(17),c=t(69),a=t(18),s=t(27),f=t(42),l=t(44),h=t(82)("id"),p=t(30),v=t(38),g=t(65),y=t(19),d=Object.isExtensible||v,m=y?"_s":"size",S=0,b=function(t,n){if(!v(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!p(t,h)){if(!d(t))return"F";if(!n)return"E";o(t,h,++S)}return"O"+t[h]},w=function(t,n){var r,e=b(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};n.exports={getConstructor:function(t,n,r,o){var f=t(function(t,i){c(t,f,n),t._i=e.create(null),t._f=void 0,t._l=void 0,t[m]=0,void 0!=i&&s(i,r,t[o],t)});return i(f.prototype,{clear:function(){for(var t=this,n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[m]=0},"delete":function(t){var n=this,r=w(n,t);if(r){var e=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=e),e&&(e.p=o),n._f==r&&(n._f=e),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(t){for(var n,r=u(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!w(this,t)}}),y&&e.setDesc(f.prototype,"size",{get:function(){return a(this[m])}}),f},def:function(t,n,r){var e,o,i=w(t,n);return i?i.v=r:(t._l=i={i:o=b(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=i),e&&(e.n=i),t[m]++,"F"!==o&&(t._i[o]=i)),t},getEntry:w,setStrong:function(t,n,r){f(t,n,function(t,n){this._t=t,this._k=n,this._l=void 0},function(){for(var t=this,n=t._k,r=t._l;r&&r.r;)r=r.p;return t._t&&(t._l=r=r?r.n:t._t._f)?"keys"==n?l(0,r.k):"values"==n?l(0,r.v):l(0,[r.k,r.v]):(t._t=void 0,l(1))},r?"entries":"values",!r,!0),g(n)}}},{17:17,18:18,19:19,27:27,30:30,31:31,38:38,42:42,44:44,46:46,60:60,65:65,69:69,82:82}],13:[function(t,n,r){var e=t(27),o=t(10);n.exports=function(t){return function(){if(o(this)!=t)throw TypeError(t+"#toJSON isn't generic");var n=[];return e(this,!1,n.push,n),n}}},{10:10,27:27}],14:[function(t,n,r){"use strict";var e=t(31),o=t(60),i=t(4),u=t(38),c=t(69),a=t(27),s=t(8),f=t(30),l=t(82)("weak"),h=Object.isExtensible||u,p=s(5),v=s(6),g=0,y=function(t){return t._l||(t._l=new d)},d=function(){this.a=[]},m=function(t,n){return p(t.a,function(t){return t[0]===n})};d.prototype={get:function(t){var n=m(this,t);return n?n[1]:void 0},has:function(t){return!!m(this,t)},set:function(t,n){var r=m(this,t);r?r[1]=n:this.a.push([t,n])},"delete":function(t){var n=v(this.a,function(n){return n[0]===t});return~n&&this.a.splice(n,1),!!~n}},n.exports={getConstructor:function(t,n,r,e){var i=t(function(t,o){c(t,i,n),t._i=g++,t._l=void 0,void 0!=o&&a(o,r,t[e],t)});return o(i.prototype,{"delete":function(t){return u(t)?h(t)?f(t,l)&&f(t[l],this._i)&&delete t[l][this._i]:y(this)["delete"](t):!1},has:function(t){return u(t)?h(t)?f(t,l)&&f(t[l],this._i):y(this).has(t):!1}}),i},def:function(t,n,r){return h(i(n))?(f(n,l)||e(n,l,{}),n[l][t._i]=r):y(t).set(n,r),t},frozenStore:y,WEAK:l}},{27:27,30:30,31:31,38:38,4:4,60:60,69:69,8:8,82:82}],15:[function(t,n,r){"use strict";var e=t(29),o=t(22),i=t(61),u=t(60),c=t(27),a=t(69),s=t(38),f=t(24),l=t(43),h=t(66);n.exports=function(t,n,r,p,v,g){var y=e[t],d=y,m=v?"set":"add",S=d&&d.prototype,b={},w=function(t){var n=S[t];i(S,t,"delete"==t?function(t){return g&&!s(t)?!1:n.call(this,0===t?0:t)}:"has"==t?function(t){return g&&!s(t)?!1:n.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof d&&(g||S.forEach&&!f(function(){(new d).entries().next()}))){var x,_=new d,E=_[m](g?{}:-0,1)!=_,O=f(function(){_.has(1)}),M=l(function(t){new d(t)});M||(d=n(function(n,r){a(n,d,t);var e=new y;return void 0!=r&&c(r,v,e[m],e),e}),d.prototype=S,S.constructor=d),g||_.forEach(function(t,n){x=1/n===-(1/0)}),(O||x)&&(w("delete"),w("has"),v&&w("get")),(x||E)&&w(m),g&&S.clear&&delete S.clear}else d=p.getConstructor(n,t,v,m),u(d.prototype,r);return h(d,t),b[t]=d,o(o.G+o.W+o.F*(d!=y),b),g||p.setStrong(d,t,v),d}},{22:22,24:24,27:27,29:29,38:38,43:43,60:60,61:61,66:66,69:69}],16:[function(t,n,r){var e=n.exports={version:"1.2.6"};"number"==typeof __e&&(__e=e)},{}],17:[function(t,n,r){var e=t(2);n.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},{2:2}],18:[function(t,n,r){n.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],19:[function(t,n,r){n.exports=!t(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{24:24}],20:[function(t,n,r){var e=t(38),o=t(29).document,i=e(o)&&e(o.createElement);n.exports=function(t){return i?o.createElement(t):{}}},{29:29,38:38}],21:[function(t,n,r){var e=t(46);n.exports=function(t){var n=e.getKeys(t),r=e.getSymbols;if(r)for(var o,i=r(t),u=e.isEnum,c=0;i.length>c;)u.call(t,o=i[c++])&&n.push(o);return n}},{46:46}],22:[function(t,n,r){var e=t(29),o=t(16),i=t(31),u=t(61),c=t(17),a="prototype",s=function(t,n,r){var f,l,h,p,v=t&s.F,g=t&s.G,y=t&s.S,d=t&s.P,m=t&s.B,S=g?e:y?e[n]||(e[n]={}):(e[n]||{})[a],b=g?o:o[n]||(o[n]={}),w=b[a]||(b[a]={});g&&(r=n);for(f in r)l=!v&&S&&f in S,h=(l?S:r)[f],p=m&&l?c(h,e):d&&"function"==typeof h?c(Function.call,h):h,S&&!l&&u(S,f,h),b[f]!=h&&i(b,f,p),d&&w[f]!=h&&(w[f]=h)};e.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,n.exports=s},{16:16,17:17,29:29,31:31,61:61}],23:[function(t,n,r){var e=t(83)("match");n.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(o){}}return!0}},{83:83}],24:[function(t,n,r){n.exports=function(t){try{return!!t()}catch(n){return!0}}},{}],25:[function(t,n,r){"use strict";var e=t(31),o=t(61),i=t(24),u=t(18),c=t(83);n.exports=function(t,n,r){var a=c(t),s=""[t];i(function(){var n={};return n[a]=function(){return 7},7!=""[t](n)})&&(o(String.prototype,t,r(u,a,s)),e(RegExp.prototype,a,2==n?function(t,n){return s.call(t,this,n)}:function(t){return s.call(t,this)}))}},{18:18,24:24,31:31,61:61,83:83}],26:[function(t,n,r){"use strict";var e=t(4);n.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},{4:4}],27:[function(t,n,r){var e=t(17),o=t(40),i=t(35),u=t(4),c=t(79),a=t(84);n.exports=function(t,n,r,s){var f,l,h,p=a(t),v=e(r,s,n?2:1),g=0;if("function"!=typeof p)throw TypeError(t+" is not iterable!");if(i(p))for(f=c(t.length);f>g;g++)n?v(u(l=t[g])[0],l[1]):v(t[g]);else for(h=p.call(t);!(l=h.next()).done;)o(h,v,l.value,n)}},{17:17,35:35,4:4,40:40,79:79,84:84}],28:[function(t,n,r){var e=t(78),o=t(46).getNames,i={}.toString,u="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return o(t)}catch(n){return u.slice()}};n.exports.get=function(t){return u&&"[object Window]"==i.call(t)?c(t):o(e(t))}},{46:46,78:78}],29:[function(t,n,r){var e=n.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},{}],30:[function(t,n,r){var e={}.hasOwnProperty;n.exports=function(t,n){return e.call(t,n)}},{}],31:[function(t,n,r){var e=t(46),o=t(59);n.exports=t(19)?function(t,n,r){return e.setDesc(t,n,o(1,r))}:function(t,n,r){return t[n]=r,t}},{19:19,46:46,59:59}],32:[function(t,n,r){n.exports=t(29).document&&document.documentElement},{29:29}],33:[function(t,n,r){n.exports=function(t,n,r){var e=void 0===r;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},{}],34:[function(t,n,r){var e=t(11);n.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},{11:11}],35:[function(t,n,r){var e=t(45),o=t(83)("iterator"),i=Array.prototype;n.exports=function(t){return void 0!==t&&(e.Array===t||i[o]===t)}},{45:45,83:83}],36:[function(t,n,r){var e=t(11);n.exports=Array.isArray||function(t){return"Array"==e(t)}},{11:11}],37:[function(t,n,r){var e=t(38),o=Math.floor;n.exports=function(t){return!e(t)&&isFinite(t)&&o(t)===t}},{38:38}],38:[function(t,n,r){n.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],39:[function(t,n,r){var e=t(38),o=t(11),i=t(83)("match");n.exports=function(t){var n;return e(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},{11:11,38:38,83:83}],40:[function(t,n,r){var e=t(4);n.exports=function(t,n,r,o){try{return o?n(e(r)[0],r[1]):n(r)}catch(i){var u=t["return"];throw void 0!==u&&e(u.call(t)),i}}},{4:4}],41:[function(t,n,r){"use strict";var e=t(46),o=t(59),i=t(66),u={};t(31)(u,t(83)("iterator"),function(){return this}),n.exports=function(t,n,r){t.prototype=e.create(u,{next:o(1,r)}),i(t,n+" Iterator")}},{31:31,46:46,59:59,66:66,83:83}],42:[function(t,n,r){"use strict";var e=t(48),o=t(22),i=t(61),u=t(31),c=t(30),a=t(45),s=t(41),f=t(66),l=t(46).getProto,h=t(83)("iterator"),p=!([].keys&&"next"in[].keys()),v="@@iterator",g="keys",y="values",d=function(){return this};n.exports=function(t,n,r,m,S,b,w){s(r,n,m);var x,_,E=function(t){if(!p&&t in j)return j[t];switch(t){case g:return function(){return new r(this,t)};case y:return function(){return new r(this,t)}}return function(){return new r(this,t)}},O=n+" Iterator",M=S==y,P=!1,j=t.prototype,N=j[h]||j[v]||S&&j[S],F=N||E(S);if(N){var A=l(F.call(new t));f(A,O,!0),!e&&c(j,v)&&u(A,h,d),M&&N.name!==y&&(P=!0,F=function(){return N.call(this)})}if(e&&!w||!p&&!P&&j[h]||u(j,h,F),a[n]=F,a[O]=d,S)if(x={values:M?F:E(y),keys:b?F:E(g),entries:M?E("entries"):F},w)for(_ in x)_ in j||i(j,_,x[_]);else o(o.P+o.F*(p||P),n,x);return x}},{22:22,30:30,31:31,41:41,45:45,46:46,48:48,61:61,66:66,83:83}],43:[function(t,n,r){var e=t(83)("iterator"),o=!1;try{var i=[7][e]();i["return"]=function(){o=!0},Array.from(i,function(){throw 2})}catch(u){}n.exports=function(t,n){if(!n&&!o)return!1;var r=!1;try{var i=[7],u=i[e]();u.next=function(){r=!0},i[e]=function(){return u},t(i)}catch(c){}return r}},{83:83}],44:[function(t,n,r){n.exports=function(t,n){return{value:n,done:!!t}}},{}],45:[function(t,n,r){n.exports={}},{}],46:[function(t,n,r){var e=Object;n.exports={create:e.create,getProto:e.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:e.getOwnPropertyDescriptor,setDesc:e.defineProperty,setDescs:e.defineProperties,getKeys:e.keys,getNames:e.getOwnPropertyNames,getSymbols:e.getOwnPropertySymbols,each:[].forEach}},{}],47:[function(t,n,r){var e=t(46),o=t(78);n.exports=function(t,n){for(var r,i=o(t),u=e.getKeys(i),c=u.length,a=0;c>a;)if(i[r=u[a++]]===n)return r}},{46:46,78:78}],48:[function(t,n,r){n.exports=!1},{}],49:[function(t,n,r){n.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],50:[function(t,n,r){n.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],51:[function(t,n,r){n.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],52:[function(t,n,r){var e,o,i,u=t(29),c=t(75).set,a=u.MutationObserver||u.WebKitMutationObserver,s=u.process,f=u.Promise,l="process"==t(11)(s),h=function(){var t,n,r;for(l&&(t=s.domain)&&(s.domain=null,t.exit());e;)n=e.domain,r=e.fn,n&&n.enter(),r(),n&&n.exit(),e=e.next;o=void 0,t&&t.enter()};if(l)i=function(){s.nextTick(h)};else if(a){var p=1,v=document.createTextNode("");new a(h).observe(v,{characterData:!0}),i=function(){v.data=p=-p}}else i=f&&f.resolve?function(){f.resolve().then(h)}:function(){c.call(u,h)};n.exports=function(t){var n={fn:t,next:void 0,domain:l&&s.domain};o&&(o.next=n),e||(e=n,i()),o=n}},{11:11,29:29,75:75}],53:[function(t,n,r){var e=t(46),o=t(80),i=t(34);n.exports=t(24)(function(){var t=Object.assign,n={},r={},e=Symbol(),o="abcdefghijklmnopqrst";return n[e]=7,o.split("").forEach(function(t){r[t]=t}),7!=t({},n)[e]||Object.keys(t({},r)).join("")!=o})?function(t,n){for(var r=o(t),u=arguments,c=u.length,a=1,s=e.getKeys,f=e.getSymbols,l=e.isEnum;c>a;)for(var h,p=i(u[a++]),v=f?s(p).concat(f(p)):s(p),g=v.length,y=0;g>y;)l.call(p,h=v[y++])&&(r[h]=p[h]);return r}:Object.assign},{24:24,34:34,46:46,80:80}],54:[function(t,n,r){var e=t(22),o=t(16),i=t(24);n.exports=function(t,n){var r=(o.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*i(function(){r(1)}),"Object",u)}},{16:16,22:22,24:24}],55:[function(t,n,r){var e=t(46),o=t(78),i=e.isEnum;n.exports=function(t){return function(n){for(var r,u=o(n),c=e.getKeys(u),a=c.length,s=0,f=[];a>s;)i.call(u,r=c[s++])&&f.push(t?[r,u[r]]:u[r]);return f}}},{46:46,78:78}],56:[function(t,n,r){var e=t(46),o=t(4),i=t(29).Reflect;n.exports=i&&i.ownKeys||function(t){var n=e.getNames(o(t)),r=e.getSymbols;return r?n.concat(r(t)):n}},{29:29,4:4,46:46}],57:[function(t,n,r){"use strict";var e=t(58),o=t(33),i=t(2);n.exports=function(){for(var t=i(this),n=arguments.length,r=Array(n),u=0,c=e._,a=!1;n>u;)(r[u]=arguments[u++])===c&&(a=!0);return function(){var e,i=this,u=arguments,s=u.length,f=0,l=0;if(!a&&!s)return o(t,r,i);if(e=r.slice(),a)for(;n>f;f++)e[f]===c&&(e[f]=u[l++]);for(;s>l;)e.push(u[l++]);return o(t,e,i)}}},{2:2,33:33,58:58}],58:[function(t,n,r){n.exports=t(29)},{29:29}],59:[function(t,n,r){n.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},{}],60:[function(t,n,r){var e=t(61);n.exports=function(t,n){for(var r in n)e(t,r,n[r]);return t}},{61:61}],61:[function(t,n,r){var e=t(29),o=t(31),i=t(82)("src"),u="toString",c=Function[u],a=(""+c).split(u);t(16).inspectSource=function(t){return c.call(t)},(n.exports=function(t,n,r,u){"function"==typeof r&&(r.hasOwnProperty(i)||o(r,i,t[n]?""+t[n]:a.join(String(n))),r.hasOwnProperty("name")||o(r,"name",n)),t===e?t[n]=r:(u||delete t[n],o(t,n,r))})(Function.prototype,u,function(){return"function"==typeof this&&this[i]||c.call(this)})},{16:16,29:29,31:31,82:82}],62:[function(t,n,r){n.exports=function(t,n){var r=n===Object(n)?function(t){return n[t]}:n;return function(n){return String(n).replace(t,r)}}},{}],63:[function(t,n,r){n.exports=Object.is||function(t,n){return t===n?0!==t||1/t===1/n:t!=t&&n!=n}},{}],64:[function(t,n,r){var e=t(46).getDesc,o=t(38),i=t(4),u=function(t,n){if(i(t),!o(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};n.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(n,r,o){try{o=t(17)(Function.call,e(Object.prototype,"__proto__").set,2),o(n,[]),r=!(n instanceof Array)}catch(i){r=!0}return function(t,n){return u(t,n),r?t.__proto__=n:o(t,n),t}}({},!1):void 0),check:u}},{17:17,38:38,4:4,46:46}],65:[function(t,n,r){"use strict";var e=t(29),o=t(46),i=t(19),u=t(83)("species");n.exports=function(t){var n=e[t];i&&n&&!n[u]&&o.setDesc(n,u,{configurable:!0,get:function(){return this}})}},{19:19,29:29,46:46,83:83}],66:[function(t,n,r){var e=t(46).setDesc,o=t(30),i=t(83)("toStringTag");n.exports=function(t,n,r){t&&!o(t=r?t:t.prototype,i)&&e(t,i,{configurable:!0,value:n})}},{30:30,46:46,83:83}],67:[function(t,n,r){var e=t(29),o="__core-js_shared__",i=e[o]||(e[o]={});n.exports=function(t){return i[t]||(i[t]={})}},{29:29}],68:[function(t,n,r){var e=t(4),o=t(2),i=t(83)("species");n.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||void 0==(r=e(u)[i])?n:o(r)}},{2:2,4:4,83:83}],69:[function(t,n,r){n.exports=function(t,n,r){if(!(t instanceof n))throw TypeError(r+": use the 'new' operator!");return t}},{}],70:[function(t,n,r){var e=t(77),o=t(18);n.exports=function(t){return function(n,r){var i,u,c=String(o(n)),a=e(r),s=c.length;return 0>a||a>=s?t?"":void 0:(i=c.charCodeAt(a),55296>i||i>56319||a+1===s||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):(i-55296<<10)+(u-56320)+65536)}}},{18:18,77:77}],71:[function(t,n,r){var e=t(39),o=t(18);n.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(o(t))}},{18:18,39:39}],72:[function(t,n,r){var e=t(79),o=t(73),i=t(18);n.exports=function(t,n,r,u){var c=String(i(t)),a=c.length,s=void 0===r?" ":String(r),f=e(n);if(a>=f)return c;""==s&&(s=" ");var l=f-a,h=o.call(s,Math.ceil(l/s.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},{18:18,73:73,79:79}],73:[function(t,n,r){"use strict";var e=t(77),o=t(18);n.exports=function(t){var n=String(o(this)),r="",i=e(t);if(0>i||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(n+=n))1&i&&(r+=n);return r}},{18:18,77:77}],74:[function(t,n,r){var e=t(22),o=t(18),i=t(24),u=" \n\f\r \u2028\u2029\ufeff",c="["+u+"]",a="
",s=RegExp("^"+c+c+"*"),f=RegExp(c+c+"*$"),l=function(t,n){var r={};r[t]=n(h),e(e.P+e.F*i(function(){return!!u[t]()||a[t]()!=a}),"String",r)},h=l.trim=function(t,n){return t=String(o(t)),1&n&&(t=t.replace(s,"")),2&n&&(t=t.replace(f,"")),t};n.exports=l},{18:18,22:22,24:24}],75:[function(t,n,r){var e,o,i,u=t(17),c=t(33),a=t(32),s=t(20),f=t(29),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,g=0,y={},d="onreadystatechange",m=function(){var t=+this;if(y.hasOwnProperty(t)){var n=y[t];delete y[t],n()}},S=function(t){m.call(t.data)};h&&p||(h=function(t){for(var n=[],r=1;arguments.length>r;)n.push(arguments[r++]);return y[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},p=function(t){delete y[t]},"process"==t(11)(l)?e=function(t){l.nextTick(u(m,t,1))}:v?(o=new v,i=o.port2,o.port1.onmessage=S,e=u(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(e=function(t){f.postMessage(t+"","*")},f.addEventListener("message",S,!1)):e=d in s("script")?function(t){a.appendChild(s("script"))[d]=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),n.exports={set:h,clear:p}},{11:11,17:17,20:20,29:29,32:32,33:33}],76:[function(t,n,r){var e=t(77),o=Math.max,i=Math.min;n.exports=function(t,n){return t=e(t),0>t?o(t+n,0):i(t,n)}},{77:77}],77:[function(t,n,r){var e=Math.ceil,o=Math.floor;n.exports=function(t){return isNaN(t=+t)?0:(t>0?o:e)(t)}},{}],78:[function(t,n,r){var e=t(34),o=t(18);n.exports=function(t){return e(o(t))}},{18:18,34:34}],79:[function(t,n,r){var e=t(77),o=Math.min;n.exports=function(t){return t>0?o(e(t),9007199254740991):0}},{77:77}],80:[function(t,n,r){var e=t(18);n.exports=function(t){return Object(e(t))}},{18:18}],81:[function(t,n,r){var e=t(38);n.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},{38:38}],82:[function(t,n,r){var e=0,o=Math.random();n.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+o).toString(36))}},{}],83:[function(t,n,r){var e=t(67)("wks"),o=t(82),i=t(29).Symbol;n.exports=function(t){return e[t]||(e[t]=i&&i[t]||(i||o)("Symbol."+t))}},{29:29,67:67,82:82}],84:[function(t,n,r){var e=t(10),o=t(83)("iterator"),i=t(45);n.exports=t(16).getIteratorMethod=function(t){return void 0!=t?t[o]||t["@@iterator"]||i[e(t)]:void 0}},{10:10,16:16,45:45,83:83}],85:[function(t,n,r){"use strict";var e,o=t(46),i=t(22),u=t(19),c=t(59),a=t(32),s=t(20),f=t(30),l=t(11),h=t(33),p=t(24),v=t(4),g=t(2),y=t(38),d=t(80),m=t(78),S=t(77),b=t(76),w=t(79),x=t(34),_=t(82)("__proto__"),E=t(8),O=t(7)(!1),M=Object.prototype,P=Array.prototype,j=P.slice,N=P.join,F=o.setDesc,A=o.getDesc,D=o.setDescs,I={};u||(e=!p(function(){return 7!=F(s("div"),"a",{get:function(){return 7}}).a}),o.setDesc=function(t,n,r){if(e)try{return F(t,n,r)}catch(o){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(v(t)[n]=r.value),t},o.getDesc=function(t,n){if(e)try{return A(t,n)}catch(r){}return f(t,n)?c(!M.propertyIsEnumerable.call(t,n),t[n]):void 0},o.setDescs=D=function(t,n){v(t);for(var r,e=o.getKeys(n),i=e.length,u=0;i>u;)o.setDesc(t,r=e[u++],n[r]);return t}),i(i.S+i.F*!u,"Object",{getOwnPropertyDescriptor:o.getDesc,defineProperty:o.setDesc,defineProperties:D});var k="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),L=k.concat("length","prototype"),T=k.length,R=function(){var t,n=s("iframe"),r=T,e=">";for(n.style.display="none",a.appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write("<script>document.F=Object</script"+e),t.close(),R=t.F;r--;)delete R.prototype[k[r]];return R()},C=function(t,n){return function(r){var e,o=m(r),i=0,u=[];for(e in o)e!=_&&f(o,e)&&u.push(e);for(;n>i;)f(o,e=t[i++])&&(~O(u,e)||u.push(e));return u}},G=function(){};i(i.S,"Object",{getPrototypeOf:o.getProto=o.getProto||function(t){return t=d(t),f(t,_)?t[_]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?M:null},getOwnPropertyNames:o.getNames=o.getNames||C(L,L.length,!0),create:o.create=o.create||function(t,n){var r;return null!==t?(G.prototype=v(t),r=new G,G.prototype=null,r[_]=t):r=R(),void 0===n?r:D(r,n)},keys:o.getKeys=o.getKeys||C(k,T,!1)});var W=function(t,n,r){if(!(n in I)){for(var e=[],o=0;n>o;o++)e[o]="a["+o+"]";I[n]=Function("F,a","return new F("+e.join(",")+")")}return I[n](t,r)};i(i.P,"Function",{bind:function(t){var n=g(this),r=j.call(arguments,1),e=function(){var o=r.concat(j.call(arguments));return this instanceof e?W(n,o.length,o):h(n,o,t)};return y(n.prototype)&&(e.prototype=n.prototype),e}}),i(i.P+i.F*p(function(){a&&j.call(a)}),"Array",{slice:function(t,n){var r=w(this.length),e=l(this);if(n=void 0===n?r:n,"Array"==e)return j.call(this,t,n);for(var o=b(t,r),i=b(n,r),u=w(i-o),c=Array(u),a=0;u>a;a++)c[a]="String"==e?this.charAt(o+a):this[o+a];return c}}),i(i.P+i.F*(x!=Object),"Array",{join:function(t){return N.call(x(this),void 0===t?",":t)}}),i(i.S,"Array",{isArray:t(36)});var U=function(t){return function(n,r){g(n);var e=x(this),o=w(e.length),i=t?o-1:0,u=t?-1:1;if(arguments.length<2)for(;;){if(i in e){r=e[i],i+=u;break}if(i+=u,t?0>i:i>=o)throw TypeError("Reduce of empty array with no initial value")}for(;t?i>=0:o>i;i+=u)i in e&&(r=n(r,e[i],i,this));return r}},K=function(t){return function(n){return t(this,n,arguments[1])}};i(i.P,"Array",{forEach:o.each=o.each||K(E(0)),map:K(E(1)),filter:K(E(2)),some:K(E(3)),every:K(E(4)),reduce:U(!1),reduceRight:U(!0),indexOf:K(O),lastIndexOf:function(t,n){var r=m(this),e=w(r.length),o=e-1;for(arguments.length>1&&(o=Math.min(o,S(n))),0>o&&(o=w(e+o));o>=0;o--)if(o in r&&r[o]===t)return o;return-1}}),i(i.S,"Date",{now:function(){return+new Date}});var z=function(t){return t>9?t:"0"+t};i(i.P+i.F*(p(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!p(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(this))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=0>n?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+z(t.getUTCMonth()+1)+"-"+z(t.getUTCDate())+"T"+z(t.getUTCHours())+":"+z(t.getUTCMinutes())+":"+z(t.getUTCSeconds())+"."+(r>99?r:"0"+z(r))+"Z"}})},{11:11,19:19,2:2,20:20,22:22,24:24,30:30,32:32,33:33,34:34,36:36,38:38,4:4,46:46,59:59,7:7,76:76,77:77,78:78,79:79,8:8,80:80,82:82}],86:[function(t,n,r){var e=t(22);e(e.P,"Array",{copyWithin:t(5)}),t(3)("copyWithin")},{22:22,3:3,5:5}],87:[function(t,n,r){var e=t(22);e(e.P,"Array",{fill:t(6)}),t(3)("fill")},{22:22,3:3,6:6}],88:[function(t,n,r){"use strict";var e=t(22),o=t(8)(6),i="findIndex",u=!0;i in[]&&Array(1)[i](function(){u=!1}),e(e.P+e.F*u,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),t(3)(i)},{22:22,3:3,8:8}],89:[function(t,n,r){"use strict";var e=t(22),o=t(8)(5),i="find",u=!0;i in[]&&Array(1)[i](function(){u=!1}),e(e.P+e.F*u,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),t(3)(i)},{22:22,3:3,8:8}],90:[function(t,n,r){"use strict";var e=t(17),o=t(22),i=t(80),u=t(40),c=t(35),a=t(79),s=t(84);o(o.S+o.F*!t(43)(function(t){Array.from(t)}),"Array",{from:function(t){var n,r,o,f,l=i(t),h="function"==typeof this?this:Array,p=arguments,v=p.length,g=v>1?p[1]:void 0,y=void 0!==g,d=0,m=s(l);if(y&&(g=e(g,v>2?p[2]:void 0,2)),void 0==m||h==Array&&c(m))for(n=a(l.length),r=new h(n);n>d;d++)r[d]=y?g(l[d],d):l[d];else for(f=m.call(l),r=new h;!(o=f.next()).done;d++)r[d]=y?u(f,g,[o.value,d],!0):o.value;return r.length=d,r}})},{17:17,22:22,35:35,40:40,43:43,79:79,80:80,84:84}],91:[function(t,n,r){"use strict";var e=t(3),o=t(44),i=t(45),u=t(78);n.exports=t(42)(Array,"Array",function(t,n){this._t=u(t),this._i=0,this._k=n},function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,o(1)):"keys"==n?o(0,r):"values"==n?o(0,t[r]):o(0,[r,t[r]])},"values"),i.Arguments=i.Array,e("keys"),e("values"),e("entries")},{3:3,42:42,44:44,45:45,78:78}],92:[function(t,n,r){"use strict";var e=t(22);e(e.S+e.F*t(24)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,n=arguments,r=n.length,e=new("function"==typeof this?this:Array)(r);r>t;)e[t]=n[t++];return e.length=r,e}})},{22:22,24:24}],93:[function(t,n,r){t(65)("Array")},{65:65}],94:[function(t,n,r){"use strict";var e=t(46),o=t(38),i=t(83)("hasInstance"),u=Function.prototype;i in u||e.setDesc(u,i,{value:function(t){if("function"!=typeof this||!o(t))return!1;if(!o(this.prototype))return t instanceof this;for(;t=e.getProto(t);)if(this.prototype===t)return!0;return!1}})},{38:38,46:46,83:83}],95:[function(t,n,r){var e=t(46).setDesc,o=t(59),i=t(30),u=Function.prototype,c=/^\s*function ([^ (]*)/,a="name";a in u||t(19)&&e(u,a,{configurable:!0,get:function(){var t=(""+this).match(c),n=t?t[1]:"";return i(this,a)||e(this,a,o(5,n)),n}})},{19:19,30:30,46:46,59:59}],96:[function(t,n,r){"use strict";var e=t(12);t(15)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var n=e.getEntry(this,t);return n&&n.v},set:function(t,n){return e.def(this,0===t?0:t,n)}},e,!0)},{12:12,15:15}],97:[function(t,n,r){var e=t(22),o=t(50),i=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},{22:22,50:50}],98:[function(t,n,r){function e(t){return isFinite(t=+t)&&0!=t?0>t?-e(-t):Math.log(t+Math.sqrt(t*t+1)):t}var o=t(22);o(o.S,"Math",{asinh:e})},{22:22}],99:[function(t,n,r){var e=t(22);e(e.S,"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},{22:22}],100:[function(t,n,r){var e=t(22),o=t(51);e(e.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},{22:22,51:51}],101:[function(t,n,r){var e=t(22);e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{22:22}],102:[function(t,n,r){var e=t(22),o=Math.exp;e(e.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},{22:22}],103:[function(t,n,r){var e=t(22);e(e.S,"Math",{expm1:t(49)})},{22:22,49:49}],104:[function(t,n,r){var e=t(22),o=t(51),i=Math.pow,u=i(2,-52),c=i(2,-23),a=i(2,127)*(2-c),s=i(2,-126),f=function(t){return t+1/u-1/u};e(e.S,"Math",{fround:function(t){var n,r,e=Math.abs(t),i=o(t);return s>e?i*f(e/s/c)*s*c:(n=(1+c/u)*e,r=n-(n-e),r>a||r!=r?i*(1/0):i*r)}})},{22:22,51:51}],105:[function(t,n,r){var e=t(22),o=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,i=0,u=0,c=arguments,a=c.length,s=0;a>u;)r=o(c[u++]),r>s?(e=s/r,i=i*e*e+1,s=r):r>0?(e=r/s,i+=e*e):i+=r;return s===1/0?1/0:s*Math.sqrt(i)}})},{22:22}],106:[function(t,n,r){var e=t(22),o=Math.imul;e(e.S+e.F*t(24)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,n){var r=65535,e=+t,o=+n,i=r&e,u=r&o;return 0|i*u+((r&e>>>16)*u+i*(r&o>>>16)<<16>>>0)}})},{22:22,24:24}],107:[function(t,n,r){var e=t(22);e(e.S,"Math",{log10:function(t){return Math.log(t)/Math.LN10}})},{22:22}],108:[function(t,n,r){var e=t(22);e(e.S,"Math",{log1p:t(50)})},{22:22,50:50}],109:[function(t,n,r){var e=t(22);e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},{22:22}],110:[function(t,n,r){var e=t(22);e(e.S,"Math",{sign:t(51)})},{22:22,51:51}],111:[function(t,n,r){var e=t(22),o=t(49),i=Math.exp;e(e.S+e.F*t(24)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},{22:22,24:24,49:49}],112:[function(t,n,r){var e=t(22),o=t(49),i=Math.exp;e(e.S,"Math",{tanh:function(t){var n=o(t=+t),r=o(-t);return n==1/0?1:r==1/0?-1:(n-r)/(i(t)+i(-t))}})},{22:22,49:49}],113:[function(t,n,r){var e=t(22);e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},{22:22}],114:[function(t,n,r){"use strict";var e=t(46),o=t(29),i=t(30),u=t(11),c=t(81),a=t(24),s=t(74).trim,f="Number",l=o[f],h=l,p=l.prototype,v=u(e.create(p))==f,g="trim"in String.prototype,y=function(t){ +var n=c(t,!1);if("string"==typeof n&&n.length>2){n=g?n.trim():s(n,3);var r,e,o,i=n.charCodeAt(0);if(43===i||45===i){if(r=n.charCodeAt(2),88===r||120===r)return NaN}else if(48===i){switch(n.charCodeAt(1)){case 66:case 98:e=2,o=49;break;case 79:case 111:e=8,o=55;break;default:return+n}for(var u,a=n.slice(2),f=0,l=a.length;l>f;f++)if(u=a.charCodeAt(f),48>u||u>o)return NaN;return parseInt(a,e)}}return+n};l(" 0o1")&&l("0b1")&&!l("+0x1")||(l=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof l&&(v?a(function(){p.valueOf.call(r)}):u(r)!=f)?new h(y(n)):y(n)},e.each.call(t(19)?e.getNames(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),function(t){i(h,t)&&!i(l,t)&&e.setDesc(l,t,e.getDesc(h,t))}),l.prototype=p,p.constructor=l,t(61)(o,f,l))},{11:11,19:19,24:24,29:29,30:30,46:46,61:61,74:74,81:81}],115:[function(t,n,r){var e=t(22);e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},{22:22}],116:[function(t,n,r){var e=t(22),o=t(29).isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},{22:22,29:29}],117:[function(t,n,r){var e=t(22);e(e.S,"Number",{isInteger:t(37)})},{22:22,37:37}],118:[function(t,n,r){var e=t(22);e(e.S,"Number",{isNaN:function(t){return t!=t}})},{22:22}],119:[function(t,n,r){var e=t(22),o=t(37),i=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},{22:22,37:37}],120:[function(t,n,r){var e=t(22);e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},{22:22}],121:[function(t,n,r){var e=t(22);e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},{22:22}],122:[function(t,n,r){var e=t(22);e(e.S,"Number",{parseFloat:parseFloat})},{22:22}],123:[function(t,n,r){var e=t(22);e(e.S,"Number",{parseInt:parseInt})},{22:22}],124:[function(t,n,r){var e=t(22);e(e.S+e.F,"Object",{assign:t(53)})},{22:22,53:53}],125:[function(t,n,r){var e=t(38);t(54)("freeze",function(t){return function(n){return t&&e(n)?t(n):n}})},{38:38,54:54}],126:[function(t,n,r){var e=t(78);t(54)("getOwnPropertyDescriptor",function(t){return function(n,r){return t(e(n),r)}})},{54:54,78:78}],127:[function(t,n,r){t(54)("getOwnPropertyNames",function(){return t(28).get})},{28:28,54:54}],128:[function(t,n,r){var e=t(80);t(54)("getPrototypeOf",function(t){return function(n){return t(e(n))}})},{54:54,80:80}],129:[function(t,n,r){var e=t(38);t(54)("isExtensible",function(t){return function(n){return e(n)?t?t(n):!0:!1}})},{38:38,54:54}],130:[function(t,n,r){var e=t(38);t(54)("isFrozen",function(t){return function(n){return e(n)?t?t(n):!1:!0}})},{38:38,54:54}],131:[function(t,n,r){var e=t(38);t(54)("isSealed",function(t){return function(n){return e(n)?t?t(n):!1:!0}})},{38:38,54:54}],132:[function(t,n,r){var e=t(22);e(e.S,"Object",{is:t(63)})},{22:22,63:63}],133:[function(t,n,r){var e=t(80);t(54)("keys",function(t){return function(n){return t(e(n))}})},{54:54,80:80}],134:[function(t,n,r){var e=t(38);t(54)("preventExtensions",function(t){return function(n){return t&&e(n)?t(n):n}})},{38:38,54:54}],135:[function(t,n,r){var e=t(38);t(54)("seal",function(t){return function(n){return t&&e(n)?t(n):n}})},{38:38,54:54}],136:[function(t,n,r){var e=t(22);e(e.S,"Object",{setPrototypeOf:t(64).set})},{22:22,64:64}],137:[function(t,n,r){"use strict";var e=t(10),o={};o[t(83)("toStringTag")]="z",o+""!="[object z]"&&t(61)(Object.prototype,"toString",function(){return"[object "+e(this)+"]"},!0)},{10:10,61:61,83:83}],138:[function(t,n,r){"use strict";var e,o=t(46),i=t(48),u=t(29),c=t(17),a=t(10),s=t(22),f=t(38),l=t(4),h=t(2),p=t(69),v=t(27),g=t(64).set,y=t(63),d=t(83)("species"),m=t(68),S=t(52),b="Promise",w=u.process,x="process"==a(w),_=u[b],E=function(t){var n=new _(function(){});return t&&(n.constructor=Object),_.resolve(n)===n},O=function(){function n(t){var r=new _(t);return g(r,n.prototype),r}var r=!1;try{if(r=_&&_.resolve&&E(),g(n,_),n.prototype=o.create(_.prototype,{constructor:{value:n}}),n.resolve(5).then(function(){})instanceof n||(r=!1),r&&t(19)){var e=!1;_.resolve(o.setDesc({},"then",{get:function(){e=!0}})),r=e}}catch(i){r=!1}return r}(),M=function(t,n){return i&&t===_&&n===e?!0:y(t,n)},P=function(t){var n=l(t)[d];return void 0!=n?n:t},j=function(t){var n;return f(t)&&"function"==typeof(n=t.then)?n:!1},N=function(t){var n,r;this.promise=new t(function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e}),this.resolve=h(n),this.reject=h(r)},F=function(t){try{t()}catch(n){return{error:n}}},A=function(t,n){if(!t.n){t.n=!0;var r=t.c;S(function(){for(var e=t.v,o=1==t.s,i=0,c=function(n){var r,i,u=o?n.ok:n.fail,c=n.resolve,a=n.reject;try{u?(o||(t.h=!0),r=u===!0?e:u(e),r===n.promise?a(TypeError("Promise-chain cycle")):(i=j(r))?i.call(r,c,a):c(r)):a(e)}catch(s){a(s)}};r.length>i;)c(r[i++]);r.length=0,t.n=!1,n&&setTimeout(function(){var n,r,o=t.p;D(o)&&(x?w.emit("unhandledRejection",e,o):(n=u.onunhandledrejection)?n({promise:o,reason:e}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",e)),t.a=void 0},1)})}},D=function(t){var n,r=t._d,e=r.a||r.c,o=0;if(r.h)return!1;for(;e.length>o;)if(n=e[o++],n.fail||!D(n.promise))return!1;return!0},I=function(t){var n=this;n.d||(n.d=!0,n=n.r||n,n.v=t,n.s=2,n.a=n.c.slice(),A(n,!0))},k=function(t){var n,r=this;if(!r.d){r.d=!0,r=r.r||r;try{if(r.p===t)throw TypeError("Promise can't be resolved itself");(n=j(t))?S(function(){var e={r:r,d:!1};try{n.call(t,c(k,e,1),c(I,e,1))}catch(o){I.call(e,o)}}):(r.v=t,r.s=1,A(r,!1))}catch(e){I.call({r:r,d:!1},e)}}};O||(_=function(t){h(t);var n=this._d={p:p(this,_,b),c:[],a:void 0,s:0,d:!1,v:void 0,h:!1,n:!1};try{t(c(k,n,1),c(I,n,1))}catch(r){I.call(n,r)}},t(60)(_.prototype,{then:function(t,n){var r=new N(m(this,_)),e=r.promise,o=this._d;return r.ok="function"==typeof t?t:!0,r.fail="function"==typeof n&&n,o.c.push(r),o.a&&o.a.push(r),o.s&&A(o,!1),e},"catch":function(t){return this.then(void 0,t)}})),s(s.G+s.W+s.F*!O,{Promise:_}),t(66)(_,b),t(65)(b),e=t(16)[b],s(s.S+s.F*!O,b,{reject:function(t){var n=new N(this),r=n.reject;return r(t),n.promise}}),s(s.S+s.F*(!O||E(!0)),b,{resolve:function(t){if(t instanceof _&&M(t.constructor,this))return t;var n=new N(this),r=n.resolve;return r(t),n.promise}}),s(s.S+s.F*!(O&&t(43)(function(t){_.all(t)["catch"](function(){})})),b,{all:function(t){var n=P(this),r=new N(n),e=r.resolve,i=r.reject,u=[],c=F(function(){v(t,!1,u.push,u);var r=u.length,c=Array(r);r?o.each.call(u,function(t,o){var u=!1;n.resolve(t).then(function(t){u||(u=!0,c[o]=t,--r||e(c))},i)}):e(c)});return c&&i(c.error),r.promise},race:function(t){var n=P(this),r=new N(n),e=r.reject,o=F(function(){v(t,!1,function(t){n.resolve(t).then(r.resolve,e)})});return o&&e(o.error),r.promise}})},{10:10,16:16,17:17,19:19,2:2,22:22,27:27,29:29,38:38,4:4,43:43,46:46,48:48,52:52,60:60,63:63,64:64,65:65,66:66,68:68,69:69,83:83}],139:[function(t,n,r){var e=t(22),o=Function.apply;e(e.S,"Reflect",{apply:function(t,n,r){return o.call(t,n,r)}})},{22:22}],140:[function(t,n,r){var e=t(46),o=t(22),i=t(2),u=t(4),c=t(38),a=Function.bind||t(16).Function.prototype.bind;o(o.S+o.F*t(24)(function(){function t(){}return!(Reflect.construct(function(){},[],t)instanceof t)}),"Reflect",{construct:function(t,n){i(t);var r=arguments.length<3?t:i(arguments[2]);if(t==r){if(void 0!=n)switch(u(n).length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var o=[null];return o.push.apply(o,n),new(a.apply(t,o))}var s=r.prototype,f=e.create(c(s)?s:Object.prototype),l=Function.apply.call(t,f,n);return c(l)?l:f}})},{16:16,2:2,22:22,24:24,38:38,4:4,46:46}],141:[function(t,n,r){var e=t(46),o=t(22),i=t(4);o(o.S+o.F*t(24)(function(){Reflect.defineProperty(e.setDesc({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,n,r){i(t);try{return e.setDesc(t,n,r),!0}catch(o){return!1}}})},{22:22,24:24,4:4,46:46}],142:[function(t,n,r){var e=t(22),o=t(46).getDesc,i=t(4);e(e.S,"Reflect",{deleteProperty:function(t,n){var r=o(i(t),n);return r&&!r.configurable?!1:delete t[n]}})},{22:22,4:4,46:46}],143:[function(t,n,r){"use strict";var e=t(22),o=t(4),i=function(t){this._t=o(t),this._i=0;var n,r=this._k=[];for(n in t)r.push(n)};t(41)(i,"Object",function(){var t,n=this,r=n._k;do if(n._i>=r.length)return{value:void 0,done:!0};while(!((t=r[n._i++])in n._t));return{value:t,done:!1}}),e(e.S,"Reflect",{enumerate:function(t){return new i(t)}})},{22:22,4:4,41:41}],144:[function(t,n,r){var e=t(46),o=t(22),i=t(4);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.getDesc(i(t),n)}})},{22:22,4:4,46:46}],145:[function(t,n,r){var e=t(22),o=t(46).getProto,i=t(4);e(e.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},{22:22,4:4,46:46}],146:[function(t,n,r){function e(t,n){var r,u,s=arguments.length<3?t:arguments[2];return a(t)===s?t[n]:(r=o.getDesc(t,n))?i(r,"value")?r.value:void 0!==r.get?r.get.call(s):void 0:c(u=o.getProto(t))?e(u,n,s):void 0}var o=t(46),i=t(30),u=t(22),c=t(38),a=t(4);u(u.S,"Reflect",{get:e})},{22:22,30:30,38:38,4:4,46:46}],147:[function(t,n,r){var e=t(22);e(e.S,"Reflect",{has:function(t,n){return n in t}})},{22:22}],148:[function(t,n,r){var e=t(22),o=t(4),i=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return o(t),i?i(t):!0}})},{22:22,4:4}],149:[function(t,n,r){var e=t(22);e(e.S,"Reflect",{ownKeys:t(56)})},{22:22,56:56}],150:[function(t,n,r){var e=t(22),o=t(4),i=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(n){return!1}}})},{22:22,4:4}],151:[function(t,n,r){var e=t(22),o=t(64);o&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){o.check(t,n);try{return o.set(t,n),!0}catch(r){return!1}}})},{22:22,64:64}],152:[function(t,n,r){function e(t,n,r){var u,f,l=arguments.length<4?t:arguments[3],h=o.getDesc(a(t),n);if(!h){if(s(f=o.getProto(t)))return e(f,n,r,l);h=c(0)}return i(h,"value")?h.writable!==!1&&s(l)?(u=o.getDesc(l,n)||c(0),u.value=r,o.setDesc(l,n,u),!0):!1:void 0===h.set?!1:(h.set.call(l,r),!0)}var o=t(46),i=t(30),u=t(22),c=t(59),a=t(4),s=t(38);u(u.S,"Reflect",{set:e})},{22:22,30:30,38:38,4:4,46:46,59:59}],153:[function(t,n,r){var e=t(46),o=t(29),i=t(39),u=t(26),c=o.RegExp,a=c,s=c.prototype,f=/a/g,l=/a/g,h=new c(f)!==f;!t(19)||h&&!t(24)(function(){return l[t(83)("match")]=!1,c(f)!=f||c(l)==l||"/a/i"!=c(f,"i")})||(c=function(t,n){var r=i(t),e=void 0===n;return this instanceof c||!r||t.constructor!==c||!e?h?new a(r&&!e?t.source:t,n):a((r=t instanceof c)?t.source:t,r&&e?u.call(t):n):t},e.each.call(e.getNames(a),function(t){t in c||e.setDesc(c,t,{configurable:!0,get:function(){return a[t]},set:function(n){a[t]=n}})}),s.constructor=c,c.prototype=s,t(61)(o,"RegExp",c)),t(65)("RegExp")},{19:19,24:24,26:26,29:29,39:39,46:46,61:61,65:65,83:83}],154:[function(t,n,r){var e=t(46);t(19)&&"g"!=/./g.flags&&e.setDesc(RegExp.prototype,"flags",{configurable:!0,get:t(26)})},{19:19,26:26,46:46}],155:[function(t,n,r){t(25)("match",1,function(t,n){return function(r){"use strict";var e=t(this),o=void 0==r?void 0:r[n];return void 0!==o?o.call(r,e):new RegExp(r)[n](String(e))}})},{25:25}],156:[function(t,n,r){t(25)("replace",2,function(t,n,r){return function(e,o){"use strict";var i=t(this),u=void 0==e?void 0:e[n];return void 0!==u?u.call(e,i,o):r.call(String(i),e,o)}})},{25:25}],157:[function(t,n,r){t(25)("search",1,function(t,n){return function(r){"use strict";var e=t(this),o=void 0==r?void 0:r[n];return void 0!==o?o.call(r,e):new RegExp(r)[n](String(e))}})},{25:25}],158:[function(t,n,r){t(25)("split",2,function(t,n,r){return function(e,o){"use strict";var i=t(this),u=void 0==e?void 0:e[n];return void 0!==u?u.call(e,i,o):r.call(String(i),e,o)}})},{25:25}],159:[function(t,n,r){"use strict";var e=t(12);t(15)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return e.def(this,t=0===t?0:t,t)}},e)},{12:12,15:15}],160:[function(t,n,r){"use strict";var e=t(22),o=t(70)(!1);e(e.P,"String",{codePointAt:function(t){return o(this,t)}})},{22:22,70:70}],161:[function(t,n,r){"use strict";var e=t(22),o=t(79),i=t(71),u="endsWith",c=""[u];e(e.P+e.F*t(23)(u),"String",{endsWith:function(t){var n=i(this,t,u),r=arguments,e=r.length>1?r[1]:void 0,a=o(n.length),s=void 0===e?a:Math.min(o(e),a),f=String(t);return c?c.call(n,f,s):n.slice(s-f.length,s)===f}})},{22:22,23:23,71:71,79:79}],162:[function(t,n,r){var e=t(22),o=t(76),i=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments,u=e.length,c=0;u>c;){if(n=+e[c++],o(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(65536>n?i(n):i(((n-=65536)>>10)+55296,n%1024+56320))}return r.join("")}})},{22:22,76:76}],163:[function(t,n,r){"use strict";var e=t(22),o=t(71),i="includes";e(e.P+e.F*t(23)(i),"String",{includes:function(t){return!!~o(this,t,i).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},{22:22,23:23,71:71}],164:[function(t,n,r){"use strict";var e=t(70)(!0);t(42)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,n=this._t,r=this._i;return r>=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})})},{42:42,70:70}],165:[function(t,n,r){var e=t(22),o=t(78),i=t(79);e(e.S,"String",{raw:function(t){for(var n=o(t.raw),r=i(n.length),e=arguments,u=e.length,c=[],a=0;r>a;)c.push(String(n[a++])),u>a&&c.push(String(e[a]));return c.join("")}})},{22:22,78:78,79:79}],166:[function(t,n,r){var e=t(22);e(e.P,"String",{repeat:t(73)})},{22:22,73:73}],167:[function(t,n,r){"use strict";var e=t(22),o=t(79),i=t(71),u="startsWith",c=""[u];e(e.P+e.F*t(23)(u),"String",{startsWith:function(t){var n=i(this,t,u),r=arguments,e=o(Math.min(r.length>1?r[1]:void 0,n.length)),a=String(t);return c?c.call(n,a,e):n.slice(e,e+a.length)===a}})},{22:22,23:23,71:71,79:79}],168:[function(t,n,r){"use strict";t(74)("trim",function(t){return function(){return t(this,3)}})},{74:74}],169:[function(t,n,r){"use strict";var e=t(46),o=t(29),i=t(30),u=t(19),c=t(22),a=t(61),s=t(24),f=t(67),l=t(66),h=t(82),p=t(83),v=t(47),g=t(28),y=t(21),d=t(36),m=t(4),S=t(78),b=t(59),w=e.getDesc,x=e.setDesc,_=e.create,E=g.get,O=o.Symbol,M=o.JSON,P=M&&M.stringify,j=!1,N=p("_hidden"),F=e.isEnum,A=f("symbol-registry"),D=f("symbols"),I="function"==typeof O,k=Object.prototype,L=u&&s(function(){return 7!=_(x({},"a",{get:function(){return x(this,"a",{value:7}).a}})).a})?function(t,n,r){var e=w(k,n);e&&delete k[n],x(t,n,r),e&&t!==k&&x(k,n,e)}:x,T=function(t){var n=D[t]=_(O.prototype);return n._k=t,u&&j&&L(k,t,{configurable:!0,set:function(n){i(this,N)&&i(this[N],t)&&(this[N][t]=!1),L(this,t,b(1,n))}}),n},R=function(t){return"symbol"==typeof t},C=function(t,n,r){return r&&i(D,n)?(r.enumerable?(i(t,N)&&t[N][n]&&(t[N][n]=!1),r=_(r,{enumerable:b(0,!1)})):(i(t,N)||x(t,N,b(1,{})),t[N][n]=!0),L(t,n,r)):x(t,n,r)},G=function(t,n){m(t);for(var r,e=y(n=S(n)),o=0,i=e.length;i>o;)C(t,r=e[o++],n[r]);return t},W=function(t,n){return void 0===n?_(t):G(_(t),n)},U=function(t){var n=F.call(this,t);return n||!i(this,t)||!i(D,t)||i(this,N)&&this[N][t]?n:!0},K=function(t,n){var r=w(t=S(t),n);return!r||!i(D,n)||i(t,N)&&t[N][n]||(r.enumerable=!0),r},z=function(t){for(var n,r=E(S(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==N||e.push(n);return e},q=function(t){for(var n,r=E(S(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])&&e.push(D[n]);return e},J=function(t){if(void 0!==t&&!R(t)){for(var n,r,e=[t],o=1,i=arguments;i.length>o;)e.push(i[o++]);return n=e[1],"function"==typeof n&&(r=n),(r||!d(n))&&(n=function(t,n){return r&&(n=r.call(this,t,n)),R(n)?void 0:n}),e[1]=n,P.apply(M,e)}},B=s(function(){var t=O();return"[null]"!=P([t])||"{}"!=P({a:t})||"{}"!=P(Object(t))});I||(O=function(){if(R(this))throw TypeError("Symbol is not a constructor");return T(h(arguments.length>0?arguments[0]:void 0))},a(O.prototype,"toString",function(){return this._k}),R=function(t){return t instanceof O},e.create=W,e.isEnum=U,e.getDesc=K,e.setDesc=C,e.setDescs=G,e.getNames=g.get=z,e.getSymbols=q,u&&!t(48)&&a(k,"propertyIsEnumerable",U,!0));var V={"for":function(t){return i(A,t+="")?A[t]:A[t]=O(t)},keyFor:function(t){return v(A,t)},useSetter:function(){j=!0},useSimple:function(){j=!1}};e.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(t){var n=p(t);V[t]=I?n:T(n)}),j=!0,c(c.G+c.W,{Symbol:O}),c(c.S,"Symbol",V),c(c.S+c.F*!I,"Object",{create:W,defineProperty:C,defineProperties:G,getOwnPropertyDescriptor:K,getOwnPropertyNames:z,getOwnPropertySymbols:q}),M&&c(c.S+c.F*(!I||B),"JSON",{stringify:J}),l(O,"Symbol"),l(Math,"Math",!0),l(o.JSON,"JSON",!0)},{19:19,21:21,22:22,24:24,28:28,29:29,30:30,36:36,4:4,46:46,47:47,48:48,59:59,61:61,66:66,67:67,78:78,82:82,83:83}],170:[function(t,n,r){"use strict";var e=t(46),o=t(61),i=t(14),u=t(38),c=t(30),a=i.frozenStore,s=i.WEAK,f=Object.isExtensible||u,l={},h=t(15)("WeakMap",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){if(u(t)){if(!f(t))return a(this).get(t);if(c(t,s))return t[s][this._i]}},set:function(t,n){return i.def(this,t,n)}},i,!0,!0);7!=(new h).set((Object.freeze||Object)(l),7).get(l)&&e.each.call(["delete","has","get","set"],function(t){var n=h.prototype,r=n[t];o(n,t,function(n,e){if(u(n)&&!f(n)){var o=a(this)[t](n,e);return"set"==t?this:o}return r.call(this,n,e)})})},{14:14,15:15,30:30,38:38,46:46,61:61}],171:[function(t,n,r){"use strict";var e=t(14);t(15)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return e.def(this,t,!0)}},e,!1,!0)},{14:14,15:15}],172:[function(t,n,r){"use strict";var e=t(22),o=t(7)(!0);e(e.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),t(3)("includes")},{22:22,3:3,7:7}],173:[function(t,n,r){var e=t(22);e(e.P,"Map",{toJSON:t(13)("Map")})},{13:13,22:22}],174:[function(t,n,r){var e=t(22),o=t(55)(!0);e(e.S,"Object",{entries:function(t){return o(t)}})},{22:22,55:55}],175:[function(t,n,r){var e=t(46),o=t(22),i=t(56),u=t(78),c=t(59);o(o.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,o=u(t),a=e.setDesc,s=e.getDesc,f=i(o),l={},h=0;f.length>h;)r=s(o,n=f[h++]),n in l?a(l,n,c(0,r)):l[n]=r;return l}})},{22:22,46:46,56:56,59:59,78:78}],176:[function(t,n,r){var e=t(22),o=t(55)(!1);e(e.S,"Object",{values:function(t){return o(t)}})},{22:22,55:55}],177:[function(t,n,r){var e=t(22),o=t(62)(/[\\^$*+?.()|[\]{}]/g,"\\$&");e(e.S,"RegExp",{escape:function(t){return o(t)}})},{22:22,62:62}],178:[function(t,n,r){var e=t(22);e(e.P,"Set",{toJSON:t(13)("Set")})},{13:13,22:22}],179:[function(t,n,r){"use strict";var e=t(22),o=t(70)(!0);e(e.P,"String",{at:function(t){return o(this,t)}})},{22:22,70:70}],180:[function(t,n,r){"use strict";var e=t(22),o=t(72);e(e.P,"String",{padLeft:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},{22:22,72:72}],181:[function(t,n,r){"use strict";var e=t(22),o=t(72);e(e.P,"String",{padRight:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},{22:22,72:72}],182:[function(t,n,r){"use strict";t(74)("trimLeft",function(t){return function(){return t(this,1)}})},{74:74}],183:[function(t,n,r){"use strict";t(74)("trimRight",function(t){return function(){return t(this,2)}})},{74:74}],184:[function(t,n,r){var e=t(46),o=t(22),i=t(17),u=t(16).Array||Array,c={},a=function(t,n){e.each.call(t.split(","),function(t){void 0==n&&t in u?c[t]=u[t]:t in[]&&(c[t]=i(Function.call,[][t],n))})};a("pop,reverse,shift,keys,values,entries",1),a("indexOf,every,some,forEach,map,filter,find,findIndex,includes",3),a("join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill"),o(o.S,"Array",c)},{16:16,17:17,22:22,46:46}],185:[function(t,n,r){t(91);var e=t(29),o=t(31),i=t(45),u=t(83)("iterator"),c=e.NodeList,a=e.HTMLCollection,s=c&&c.prototype,f=a&&a.prototype,l=i.NodeList=i.HTMLCollection=i.Array;s&&!s[u]&&o(s,u,l),f&&!f[u]&&o(f,u,l)},{29:29,31:31,45:45,83:83,91:91}],186:[function(t,n,r){var e=t(22),o=t(75);e(e.G+e.B,{setImmediate:o.set,clearImmediate:o.clear})},{22:22,75:75}],187:[function(t,n,r){var e=t(29),o=t(22),i=t(33),u=t(57),c=e.navigator,a=!!c&&/MSIE .\./.test(c.userAgent),s=function(t){return a?function(n,r){return t(i(u,[].slice.call(arguments,2),"function"==typeof n?n:Function(n)),r)}:t};o(o.G+o.B+o.F*a,{setTimeout:s(e.setTimeout),setInterval:s(e.setInterval)})},{22:22,29:29,33:33,57:57}],188:[function(t,n,r){t(85),t(169),t(124),t(132),t(136),t(137),t(125),t(135),t(134),t(130),t(131),t(129),t(126),t(128),t(133),t(127),t(95),t(94),t(114),t(115),t(116),t(117),t(118),t(119),t(120),t(121),t(122),t(123),t(97),t(98),t(99),t(100),t(101),t(102),t(103),t(104),t(105),t(106),t(107),t(108),t(109),t(110),t(111),t(112),t(113),t(162),t(165),t(168),t(164),t(160),t(161),t(163),t(166),t(167),t(90),t(92),t(91),t(93),t(86),t(87),t(89),t(88),t(153),t(154),t(155),t(156),t(157),t(158),t(138),t(96),t(159),t(170),t(171),t(139),t(140),t(141),t(142),t(143),t(146),t(144),t(145),t(147),t(148),t(149),t(150),t(152),t(151),t(172),t(179),t(180),t(181),t(182),t(183),t(177),t(175),t(176),t(174),t(173),t(178),t(184),t(187),t(186),t(185),n.exports=t(16)},{100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,128:128,129:129,130:130,131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,16:16,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,186:186,187:187,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99}],189:[function(t,n,r){(function(t){!function(t){"use strict";function r(t,n,r,e){var i=Object.create((n||o).prototype),u=new p(e||[]);return i._invoke=f(t,r,u),i}function e(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(e){return{type:"throw",arg:e}}}function o(){}function i(){}function u(){}function c(t){["next","throw","return"].forEach(function(n){t[n]=function(t){return this._invoke(n,t)}})}function a(t){this.arg=t}function s(t){function n(n,r){var e=t[n](r),u=e.value;return u instanceof a?Promise.resolve(u.arg).then(o,i):Promise.resolve(u).then(function(t){return e.value=t,e})}function r(t,r){function o(){return n(t,r)}return e=e?e.then(o,o):new Promise(function(t){t(o())})}"object"==typeof process&&process.domain&&(n=process.domain.bind(n));var e,o=n.bind(t,"next"),i=n.bind(t,"throw");n.bind(t,"return");this._invoke=r}function f(t,n,r){var o=w;return function(i,u){if(o===_)throw new Error("Generator is already running");if(o===E){if("throw"===i)throw u;return g()}for(;;){var c=r.delegate;if(c){if("return"===i||"throw"===i&&c.iterator[i]===y){r.delegate=null;var a=c.iterator["return"];if(a){var s=e(a,c.iterator,u);if("throw"===s.type){i="throw",u=s.arg;continue}}if("return"===i)continue}var s=e(c.iterator[i],c.iterator,u);if("throw"===s.type){r.delegate=null,i="throw",u=s.arg;continue}i="next",u=y;var f=s.arg;if(!f.done)return o=x,f;r[c.resultName]=f.value,r.next=c.nextLoc,r.delegate=null}if("next"===i)o===x?r.sent=u:r.sent=y;else if("throw"===i){if(o===w)throw o=E,u;r.dispatchException(u)&&(i="next",u=y)}else"return"===i&&r.abrupt("return",u);o=_;var s=e(t,n,r);if("normal"===s.type){o=r.done?E:x;var f={value:s.arg,done:r.done};if(s.arg!==O)return f;r.delegate&&"next"===i&&(u=y)}else"throw"===s.type&&(o=E,i="throw",u=s.arg)}}}function l(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function h(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function p(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(l,this),this.reset(!0)}function v(t){if(t){var n=t[m];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,e=function o(){for(;++r<t.length;)if(d.call(t,r))return o.value=t[r],o.done=!1,o;return o.value=y,o.done=!0,o};return e.next=e}}return{next:g}}function g(){return{value:y,done:!0}}var y,d=Object.prototype.hasOwnProperty,m="function"==typeof Symbol&&Symbol.iterator||"@@iterator",S="object"==typeof n,b=t.regeneratorRuntime;if(b)return void(S&&(n.exports=b));b=t.regeneratorRuntime=S?n.exports:{},b.wrap=r;var w="suspendedStart",x="suspendedYield",_="executing",E="completed",O={},M=u.prototype=o.prototype;i.prototype=M.constructor=u,u.constructor=i,i.displayName="GeneratorFunction",b.isGeneratorFunction=function(t){var n="function"==typeof t&&t.constructor;return n?n===i||"GeneratorFunction"===(n.displayName||n.name):!1},b.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):t.__proto__=u,t.prototype=Object.create(M),t},b.awrap=function(t){return new a(t)},c(s.prototype),b.async=function(t,n,e,o){var i=new s(r(t,n,e,o));return b.isGeneratorFunction(n)?i:i.next().then(function(t){return t.done?t.value:i.next()})},c(M),M[m]=function(){return this},M.toString=function(){return"[object Generator]"},b.keys=function(t){var n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},b.values=v,p.prototype={constructor:p,reset:function(t){if(this.prev=0,this.next=0,this.sent=y,this.done=!1,this.delegate=null,this.tryEntries.forEach(h),!t)for(var n in this)"t"===n.charAt(0)&&d.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=y)},stop:function(){this.done=!0;var t=this.tryEntries[0],n=t.completion;if("throw"===n.type)throw n.arg;return this.rval},dispatchException:function(t){function n(n,e){return i.type="throw",i.arg=t,r.next=n,!!e}if(this.done)throw t;for(var r=this,e=this.tryEntries.length-1;e>=0;--e){var o=this.tryEntries[e],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var u=d.call(o,"catchLoc"),c=d.call(o,"finallyLoc");if(u&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(u){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(t,n){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc<=this.prev&&d.call(e,"finallyLoc")&&this.prev<e.finallyLoc){var o=e;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=n&&n<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=n,o?this.next=o.finallyLoc:this.complete(i),O},complete:function(t,n){if("throw"===t.type)throw t.arg;"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=t.arg,this.next="end"):"normal"===t.type&&n&&(this.next=n)},finish:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),h(r),O}},"catch":function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var o=e.arg;h(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:v(t),resultName:n,nextLoc:r},O}}}("object"==typeof t?t:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]); diff --git a/web/templates/channel.html b/web/templates/channel.html index 7b8f6a243..8abbe36df 100644 --- a/web/templates/channel.html +++ b/web/templates/channel.html @@ -26,13 +26,13 @@ <script> window.setup_channel_page({{ .Props }}, {{ .Team }}, {{ .Channel }}, {{ .User }}); $('body').tooltip( {selector: '[data-toggle=tooltip]'} ); + var modals = $('.modal-body').not('.edit-modal-body'); if($(window).height() > 1200){ - $('.modal-body').css('max-height', 1000); + modals.css('max-height', 1000); + } else { + modals.css('max-height', $(window).height() - 200); } - else { - $('.modal-body').css('max-height', $(window).height() - 200); - } - $('.modal-body').perfectScrollbar(); + modals.perfectScrollbar(); </script> </body> </html> diff --git a/web/templates/head.html b/web/templates/head.html index c425ef0b0..709edbaec 100644 --- a/web/templates/head.html +++ b/web/templates/head.html @@ -38,6 +38,7 @@ <script src="/static/js/react-bootstrap-0.28.1.js"></script> <script src="/static/js/perfect-scrollbar-0.6.7.jquery.min.js"></script> <script src="/static/js/jquery-dragster/jquery.dragster.js"></script> + <script src="/static/js/babel-polyfill-6.1.18.min.js"></script> <script src="/static/js/katex.min.js"></script> <style id="antiClickjack">body{display:none !important;}</style> |