{"version":3,"sources":["webpack:///./pages/sessions/new/username_validator.js","webpack:///./pages/sessions/new/length_validator.js","webpack:///./validators/input_validator.js","webpack:///./pages/sessions/new/oauth_remember_me.js","webpack:///./pages/sessions/new/signin_tabs_memoizer.js","webpack:///./pages/sessions/new/index.js","webpack:///./pages/sessions/new/preserve_url_fragment.js","webpack:///./emoji/no_emoji_validator.js","webpack:////home/git/gitlab/node_modules/emoji-regex/index.js"],"names":["debounceTimeoutDuration","rootUrl","gon","relative_url_root","invalidInputClass","successInputClass","successMessageSelector","pendingMessageSelector","unavailableMessageSelector","UsernameValidator","InputValidator","constructor","opts","super","container","validateLengthElements","document","querySelectorAll","this","debounceValidateInput","inputDomElement","validateUsernameInput","forEach","element","addEventListener","eventHandler","bind","event","target","resetInputState","username","value","checkValidity","length","setMessageVisibility","fetchUsernameAvailability","then","usernameTaken","setInputState","catch","flash","__","axios","get","data","exists","messageSelector","isVisible","parentElement","querySelector","classList","toggle","success","remove","errorMessageClass","LengthValidator","inputErrorMessage","minLength","minLengthMessage","maxLengthMessage","maxLength","dataset","invalidInput","parseInt","errorMessage","setValidationStateAndMessage","setValidationMessage","isInvalidInput","setCustomValidity","innerHTML","resetValidationMessage","validationMessage","title","OAuthRememberMe","bindEvents","$","on","toggleRememberMe","rememberMe","is","each","i","$form","parent","href","attr","mergeUrlParams","remember_me","removeParams","SigninTabsMemoizer","currentTabKey","tabSelector","isLocalStorageAvailable","AccessorUtilities","isLocalStorageAccessSafe","window","location","hash","saveData","bootstrap","tabs","e","nodeName","anchorName","getAttribute","showTab","readData","tab","click","firstTab","val","localStorage","setItem","getItem","NoEmojiValidator","fragment","normalFragment","replace","forms","Array","prototype","call","form","actionWithFragment","setUrlFragment","setAttribute","oauthForms","oauthForm","newHref","redirect_fragment","preserveUrlFragment","noEmojiEmelents","nextSibling","validatePattern","pattern","emojiRegex","RegExp","test","module","exports"],"mappings":"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","file":"pages.sessions.new.635e692d.chunk.js","sourcesContent":["import { debounce } from 'lodash';\n\nimport { deprecatedCreateFlash as flash } from '~/flash';\nimport axios from '~/lib/utils/axios_utils';\nimport { __ } from '~/locale';\nimport InputValidator from '~/validators/input_validator';\n\nconst debounceTimeoutDuration = 1000;\nconst rootUrl = gon.relative_url_root;\nconst invalidInputClass = 'gl-field-error-outline';\nconst successInputClass = 'gl-field-success-outline';\nconst successMessageSelector = '.validation-success';\nconst pendingMessageSelector = '.validation-pending';\nconst unavailableMessageSelector = '.validation-error';\n\nexport default class UsernameValidator extends InputValidator {\n constructor(opts = {}) {\n super();\n\n const container = opts.container || '';\n const validateLengthElements = document.querySelectorAll(`${container} .js-validate-username`);\n\n this.debounceValidateInput = debounce((inputDomElement) => {\n UsernameValidator.validateUsernameInput(inputDomElement);\n }, debounceTimeoutDuration);\n\n validateLengthElements.forEach((element) =>\n element.addEventListener('input', this.eventHandler.bind(this)),\n );\n }\n\n eventHandler(event) {\n const inputDomElement = event.target;\n\n UsernameValidator.resetInputState(inputDomElement);\n this.debounceValidateInput(inputDomElement);\n }\n\n static validateUsernameInput(inputDomElement) {\n const username = inputDomElement.value;\n\n if (inputDomElement.checkValidity() && username.length > 1) {\n UsernameValidator.setMessageVisibility(inputDomElement, pendingMessageSelector);\n UsernameValidator.fetchUsernameAvailability(username)\n .then((usernameTaken) => {\n UsernameValidator.setInputState(inputDomElement, !usernameTaken);\n UsernameValidator.setMessageVisibility(inputDomElement, pendingMessageSelector, false);\n UsernameValidator.setMessageVisibility(\n inputDomElement,\n usernameTaken ? unavailableMessageSelector : successMessageSelector,\n );\n })\n .catch(() => flash(__('An error occurred while validating username')));\n }\n }\n\n static fetchUsernameAvailability(username) {\n return axios.get(`${rootUrl}/users/${username}/exists`).then(({ data }) => data.exists);\n }\n\n static setMessageVisibility(inputDomElement, messageSelector, isVisible = true) {\n const messageElement = inputDomElement.parentElement.querySelector(messageSelector);\n messageElement.classList.toggle('hide', !isVisible);\n }\n\n static setInputState(inputDomElement, success = true) {\n inputDomElement.classList.toggle(successInputClass, success);\n inputDomElement.classList.toggle(invalidInputClass, !success);\n }\n\n static resetInputState(inputDomElement) {\n UsernameValidator.setMessageVisibility(inputDomElement, successMessageSelector, false);\n UsernameValidator.setMessageVisibility(inputDomElement, unavailableMessageSelector, false);\n\n if (inputDomElement.checkValidity()) {\n inputDomElement.classList.remove(successInputClass, invalidInputClass);\n }\n }\n}\n","import InputValidator from '../../../validators/input_validator';\n\nconst errorMessageClass = 'gl-field-error';\n\nexport default class LengthValidator extends InputValidator {\n constructor(opts = {}) {\n super();\n\n const container = opts.container || '';\n const validateLengthElements = document.querySelectorAll(`${container} .js-validate-length`);\n\n validateLengthElements.forEach((element) =>\n element.addEventListener('input', this.eventHandler.bind(this)),\n );\n }\n\n eventHandler(event) {\n this.inputDomElement = event.target;\n this.inputErrorMessage = this.inputDomElement.parentElement.querySelector(\n `.${errorMessageClass}`,\n );\n\n const { value } = this.inputDomElement;\n const {\n minLength,\n minLengthMessage,\n maxLengthMessage,\n maxLength,\n } = this.inputDomElement.dataset;\n\n this.invalidInput = false;\n\n if (value.length > parseInt(maxLength, 10)) {\n this.invalidInput = true;\n this.errorMessage = maxLengthMessage;\n }\n\n if (value.length < parseInt(minLength, 10)) {\n this.invalidInput = true;\n this.errorMessage = minLengthMessage;\n }\n\n this.setValidationStateAndMessage();\n }\n}\n","const invalidInputClass = 'gl-field-error-outline';\n\nexport default class InputValidator {\n constructor() {\n this.inputDomElement = {};\n this.inputErrorMessage = {};\n this.errorMessage = null;\n this.invalidInput = null;\n }\n\n setValidationStateAndMessage() {\n this.setValidationMessage();\n\n const isInvalidInput = !this.inputDomElement.checkValidity();\n this.inputDomElement.classList.toggle(invalidInputClass, isInvalidInput);\n this.inputErrorMessage.classList.toggle('hide', !isInvalidInput);\n }\n\n setValidationMessage() {\n if (this.invalidInput) {\n this.inputDomElement.setCustomValidity(this.errorMessage);\n this.inputErrorMessage.innerHTML = this.errorMessage;\n } else {\n this.resetValidationMessage();\n }\n }\n\n resetValidationMessage() {\n if (this.inputDomElement.validationMessage === this.errorMessage) {\n this.inputDomElement.setCustomValidity('');\n this.inputErrorMessage.innerHTML = this.inputDomElement.title;\n }\n }\n}\n","import $ from 'jquery';\nimport { mergeUrlParams, removeParams } from '~/lib/utils/url_utility';\n\n/**\n * OAuth-based login buttons have a separate \"remember me\" checkbox.\n *\n * Toggling this checkbox adds/removes a `remember_me` parameter to the\n * login buttons' parent form action, which is passed on to the omniauth callback.\n */\n\nexport default class OAuthRememberMe {\n constructor(opts = {}) {\n this.container = opts.container || '';\n }\n\n bindEvents() {\n $('#remember_me', this.container).on('click', this.toggleRememberMe);\n }\n\n toggleRememberMe(event) {\n const rememberMe = $(event.target).is(':checked');\n\n $('.oauth-login', this.container).each((i, element) => {\n const $form = $(element).parent('form');\n const href = $form.attr('action');\n\n if (rememberMe) {\n $form.attr('action', mergeUrlParams({ remember_me: 1 }, href));\n } else {\n $form.attr('action', removeParams(['remember_me'], href));\n }\n });\n }\n}\n","import AccessorUtilities from '~/lib/utils/accessor';\n\n/**\n * Memorize the last selected tab after reloading a page.\n * Does that setting the current selected tab in the localStorage\n */\nexport default class SigninTabsMemoizer {\n constructor({ currentTabKey = 'current_signin_tab', tabSelector = 'ul.new-session-tabs' } = {}) {\n this.currentTabKey = currentTabKey;\n this.tabSelector = tabSelector;\n this.isLocalStorageAvailable = AccessorUtilities.isLocalStorageAccessSafe();\n // sets selected tab if given as hash tag\n if (window.location.hash) {\n this.saveData(window.location.hash);\n }\n\n this.bootstrap();\n }\n\n bootstrap() {\n const tabs = document.querySelectorAll(this.tabSelector);\n if (tabs.length > 0) {\n tabs[0].addEventListener('click', (e) => {\n if (e.target && e.target.nodeName === 'A') {\n const anchorName = e.target.getAttribute('href');\n this.saveData(anchorName);\n }\n });\n }\n\n this.showTab();\n }\n\n showTab() {\n const anchorName = this.readData();\n if (anchorName) {\n const tab = document.querySelector(`${this.tabSelector} a[href=\"${anchorName}\"]`);\n if (tab) {\n tab.click();\n } else {\n const firstTab = document.querySelector(`${this.tabSelector} a`);\n if (firstTab) {\n firstTab.click();\n }\n }\n }\n }\n\n saveData(val) {\n if (!this.isLocalStorageAvailable) return undefined;\n\n return window.localStorage.setItem(this.currentTabKey, val);\n }\n\n readData() {\n if (!this.isLocalStorageAvailable) return null;\n\n return window.localStorage.getItem(this.currentTabKey);\n }\n}\n","import $ from 'jquery';\nimport NoEmojiValidator from '../../../emoji/no_emoji_validator';\nimport LengthValidator from './length_validator';\nimport OAuthRememberMe from './oauth_remember_me';\nimport preserveUrlFragment from './preserve_url_fragment';\nimport SigninTabsMemoizer from './signin_tabs_memoizer';\nimport UsernameValidator from './username_validator';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new UsernameValidator(); // eslint-disable-line no-new\n new LengthValidator(); // eslint-disable-line no-new\n new SigninTabsMemoizer(); // eslint-disable-line no-new\n new NoEmojiValidator(); // eslint-disable-line no-new\n\n new OAuthRememberMe({\n container: $('.omniauth-container'),\n }).bindEvents();\n\n // Save the URL fragment from the current window location. This will be present if the user was\n // redirected to sign-in after attempting to access a protected URL that included a fragment.\n preserveUrlFragment(window.location.hash);\n});\n","import { mergeUrlParams, setUrlFragment } from '~/lib/utils/url_utility';\n\n/**\n * Ensure the given URL fragment is preserved by appending it to sign-in/sign-up form actions and\n * OAuth/SAML login links.\n *\n * @param fragment {string} - url fragment to be preserved\n */\nexport default function preserveUrlFragment(fragment = '') {\n if (fragment) {\n const normalFragment = fragment.replace(/^#/, '');\n\n // Append the fragment to all sign-in/sign-up form actions so it is preserved when the user is\n // eventually redirected back to the originally requested URL.\n const forms = document.querySelectorAll('#signin-container .tab-content form');\n Array.prototype.forEach.call(forms, (form) => {\n const actionWithFragment = setUrlFragment(form.getAttribute('action'), `#${normalFragment}`);\n form.setAttribute('action', actionWithFragment);\n });\n\n // Append a redirect_fragment query param to all oauth provider links. The redirect_fragment\n // query param will be available in the omniauth callback upon successful authentication\n const oauthForms = document.querySelectorAll('#signin-container .omniauth-container form');\n Array.prototype.forEach.call(oauthForms, (oauthForm) => {\n const newHref = mergeUrlParams(\n { redirect_fragment: normalFragment },\n oauthForm.getAttribute('action'),\n );\n oauthForm.setAttribute('action', newHref);\n });\n }\n}\n","import emojiRegex from 'emoji-regex';\nimport { __ } from '~/locale';\nimport InputValidator from '../validators/input_validator';\n\nexport default class NoEmojiValidator extends InputValidator {\n constructor(opts = {}) {\n super();\n\n const container = opts.container || '';\n this.noEmojiEmelents = document.querySelectorAll(`${container} .js-block-emoji`);\n\n this.noEmojiEmelents.forEach((element) =>\n element.addEventListener('input', this.eventHandler.bind(this)),\n );\n }\n\n eventHandler(event) {\n this.inputDomElement = event.target;\n this.inputErrorMessage = this.inputDomElement.nextSibling;\n\n const { value } = this.inputDomElement;\n\n this.errorMessage = __('Invalid input, please avoid emojis');\n\n this.validatePattern(value);\n this.setValidationStateAndMessage();\n }\n\n validatePattern(value) {\n const pattern = emojiRegex();\n this.invalidInput = new RegExp(pattern).test(value);\n }\n}\n","\"use strict\";\n\nmodule.exports = function () {\n // https://mths.be/emoji\n return /\\uD83C\\uDFF4(?:\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74)\\uDB40\\uDC7F|\\u200D\\u2620\\uFE0F)|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC68(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDB0-\\uDDB3])|(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDB0-\\uDDB3]))|\\uD83D\\uDC69\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDB0-\\uDDB3])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\uD83D\\uDC68(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83D\\uDC69\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC68(?:\\u200D(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDB0-\\uDDB3])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDD1-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDEEB\\uDEEC\\uDEF4-\\uDEF9]|\\uD83E[\\uDD10-\\uDD3A\\uDD3C-\\uDD3E\\uDD40-\\uDD45\\uDD47-\\uDD70\\uDD73-\\uDD76\\uDD7A\\uDD7C-\\uDDA2\\uDDB0-\\uDDB9\\uDDC0-\\uDDC2\\uDDD0-\\uDDFF])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEF9]|\\uD83E[\\uDD10-\\uDD3A\\uDD3C-\\uDD3E\\uDD40-\\uDD45\\uDD47-\\uDD70\\uDD73-\\uDD76\\uDD7A\\uDD7C-\\uDDA2\\uDDB0-\\uDDB9\\uDDC0-\\uDDC2\\uDDD0-\\uDDFF])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC69\\uDC6E\\uDC70-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3D\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDD1-\\uDDDD])/g;\n};\n"],"sourceRoot":""}