How to remove emoji code using javascript? - javascript

How do I remove emoji code using JavaScript? I thought I had taken care of it using the code below, but I still have characters like ๐Ÿ”ด.
function removeInvalidChars() {
return this.replace(/[\uE000-\uF8FF]/g, '');
}

For me none of the answers completely removed all emojis so I had to do some work myself and this is what i got :
text.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g, '');
Also, it should take into account that if one inserting the string later to the database, replacing with empty string could expose security issue. instead replace with the replacement character U+FFFD, see : http://www.unicode.org/reports/tr36/#Deletion_of_Noncharacters

The range you have selected is the Private Use Area, containing non-standard characters. Carriers used to encode emoji as different, inconsistent values inside this range.
More recently, the emoji have been given standardised 'unified' codepoints. Many of these are outside of the Basic Multilingual Plane, in the block U+1F300โ€“U+1F5FF, including your example ๐Ÿ”ด U+1F534 Large Red Circle.
You could detect these characters with [\U0001F300-\U0001F5FF] in a regex engine that supported non-BMP characters, but JavaScript's RegExp is not such a beast. Unfortunately the JS string model is based on UTF-16 code units, so you'd have to work with the UTF-16 surrogates in a regexp:
return this.replace(/([\uE000-\uF8FF]|\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF])/g, '')
However, note that there are other characters in the Basic Multilingual Plane that are used as emoji by phones but which long predate emoji. For example U+2665 is the traditional Heart Suit character โ™ฅ, but it may be rendered as an emoji graphic on some devices. It's up to you whether you treat this as emoji and try to remove it. See this list for more examples.

I solved it by using a regex with Unicode property escapes. I got it from this article, it's for Java but still very helpful - Remove Emojis from a Java String.
'Smile๐Ÿ˜€'.replace(/[^\p{L}\p{N}\p{P}\p{Z}^$\n]/gu, '');
It removes all symbols except:
\p{L} - all letters from any language
\p{N} - numbers
\p{P} - punctuation
\p{Z} - whitespace separators
^$\n - add any symbols you want to keep
This one should be more correct and it works, but for me it leaves some trash symbols in the string:
'Smile๐Ÿ˜€'.replace(/\p{Emoji}/gu, '');
Edit: added symbols from comments

I've found many suggestions around but the regex that have solved my problem is:
/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g
A short example
function removeEmojis (string) {
var regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;
return string.replace(regex, '');
}
Hope it can help you

Just an addition to #hababr answer.
If you need to get rid of complicated emojis, you have to remove also additional things like modifiers and etc:
'๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค'.replace(/[\p{Emoji}\p{Emoji_Modifier}\p{Emoji_Component}\p{Emoji_Modifier_Base}\p{Emoji_Presentation}]/gu, '').charCodeAt(0)
update:
*#0-9 - are Emoji characters with a text representation by default, per the Unicode Standard.
so, my current solution is next:
'๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค'.replace(/(?![*#0-9]+)[\p{Emoji}\p{Emoji_Modifier}\p{Emoji_Component}\p{Emoji_Modifier_Base}\p{Emoji_Presentation}]/gu, '').charCodeAt(0)

I know this post is a bit old, but I stumbled across this very problem at work and a colleague came up with an interesting idea. Basically instead of stripping emoji character only allow valid characters in. Consulting this ASCII table:
http://www.asciitable.com/
A function such as this could only keep legal characters (the range itself dependent on what you are after)
function (input) {
var result = '';
if (input.length == 0)
return input;
for (var indexOfInput = 0, lengthOfInput = input.length; indexOfInput < lengthOfInput; indexOfInput++) {
var charAtSpecificIndex = input[indexOfInput].charCodeAt(0);
if ((32 <= charAtSpecificIndex) && (charAtSpecificIndex <= 126)) {
result += input[indexOfInput];
}
}
return result;
};
This should preserve all numbers, letters and special characters of the Alphabet for a situation where you wish to preserve the English alphabet + number + special characters. Hope it helps someone :)

#bobince's solution didn't work for me. Either the Emojis stayed there or they were swapped by a different Emoji.
This solution did the trick for me:
var ranges = [
'\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF
'\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F
'\ud83d[\ude80-\udeff]' // U+1F680 to U+1F6FF
];
$('#mybtn').on('click', function() {
removeInvalidChars();
})
function removeInvalidChars() {
var str = $('#myinput').val();
str = str.replace(new RegExp(ranges.join('|'), 'g'), '');
$("#myinput").val(str);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="myinput"/>
<input type="submit" id="mybtn" value="clear"/>
Source

After searching and trying lots of unicode regex, I suggest you try this, it can cover all of emojis:
function removeEmoji(str) {
let strCopy = str;
const emojiKeycapRegex = /[\u0023-\u0039]\ufe0f?\u20e3/g;
const emojiRegex = /\p{Extended_Pictographic}/gu;
const emojiComponentRegex = /\p{Emoji_Component}/gu;
if (emojiKeycapRegex.test(strCopy)) {
strCopy = strCopy.replace(emojiKeycapRegex, '');
}
if (emojiRegex.test(strCopy)) {
strCopy = strCopy.replace(emojiRegex, '');
}
if (emojiComponentRegex.test(strCopy)) {
// eslint-disable-next-line no-restricted-syntax
for (const emoji of (strCopy.match(emojiComponentRegex) || [])) {
if (/[\d|*|#]/.test(emoji)) {
continue;
}
strCopy = strCopy.replace(emoji, '');
}
}
return strCopy;
}
let a = "1๏ธโƒฃaa๐Ÿคนโ€โ™‚๏ธb#๏ธโƒฃ๐Ÿ”คโœ…โŽ23#!^*bb๐Ÿคน๐Ÿพ๐Ÿคนโ€โ™€๏ธ๐Ÿšด๐Ÿปccc";
console.log(removeEmoji(a))
Refrence: Unicode Emoij Document

None of the answers here worked for all the unicode characters I tested (specifically characters in the miscellaneous range such as โ›ฝ or โ˜ฏ๏ธ).
Here is one that worked for me, (heavily) inspired from this SO PHP answer:
function _removeEmojis(str) {
return str.replace(/([#0-9]\u20E3)|[\xA9\xAE\u203C\u2047-\u2049\u2122\u2139\u3030\u303D\u3297\u3299][\uFE00-\uFEFF]?|[\u2190-\u21FF][\uFE00-\uFEFF]?|[\u2300-\u23FF][\uFE00-\uFEFF]?|[\u2460-\u24FF][\uFE00-\uFEFF]?|[\u25A0-\u25FF][\uFE00-\uFEFF]?|[\u2600-\u27BF][\uFE00-\uFEFF]?|[\u2900-\u297F][\uFE00-\uFEFF]?|[\u2B00-\u2BF0][\uFE00-\uFEFF]?|(?:\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDEFF])[\uFE00-\uFEFF]?/g, '');
}
(My use case is sorting in a data grid where emojis can come first in a string but users want the text ordered by the actual words.)

sandre89's answer is good but not perfect.
I spent some time on the subject and have a working solution.
var ranges = [
'[\u00A0-\u269f]',
'[\u26A0-\u329f]',
// The following characters could not be minified correctly
// if specifed with the ES6 syntax \u{1F400}
'[๐Ÿ€„-๐Ÿง€]'
//'[\u{1F004}-\u{1F9C0}]'
];
$('#mybtn').on('click', function() {
removeInvalidChars();
});
function removeInvalidChars() {
var str = $('#myinput').val();
str = str.replace(new RegExp(ranges.join('|'), 'ug'), '');
$("#myinput").val(str);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="myinput" />
<input type="submit" id="mybtn" value="clear" />
Here is my CodePen
There are some points to note, though.
Unicode characters from U+1F000 up need a special notation, so you can use sandre89's way, or opt for the \u{1F000} ES6 notation, which may or may not work with your minificator. I succeeded pasting the emojis directly in the UTF-8 encoded script.
Don't forget the u flag in the regex, or your Javascript engine may throw an error.
Beware that things may not be working due to the file encoding, character set, or minificator. In my case nothing worked until I took the script off an .isml file (Demandware) and pasted it into a .js file.
You may gain some insight by referring to Wikipedia Emoji page and How many bytes does one Unicode character take?, and by tinkering with this Online Unicode converter, as I did.

var emoji =/([#0-9]\u20E3)|[\xA9\xAE\u203C\u2047-\u2049\u2122\u2139\u3030\u303D\u3297\u3299][\uFE00-\uFEFF]?|[\u2190-\u21FF][\uFE00-\uFEFF]?|[\u2300-\u23FF][\uFE00-\uFEFF]?|[\u2460-\u24FF][\uFE00-\uFEFF]?|[\u25A0-\u25FF][\uFE00-\uFEFF]?|[\u2600-\u27BF][\uFE00-\uFEFF]?|[\u2900-\u297F][\uFE00-\uFEFF]?|[\u2B00-\u2BF0][\uFE00-\uFEFF]?|(?:\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDEFF])[\uFE00-\uFEFF]?|[\u20E3]|[\u26A0-\u3000]|\uD83E[\udd00-\uddff]|[\u00A0-\u269F]/g;
str.replace(emoji, "");
i add this '\uD83E[\udd00-\uddff]'
these emojis were updated when 2018 june
if u want block emojis after other update then use this
str.replace(/[^0-9a-zA-Zใ„ฑ-ํžฃ+ร—รท=%โ™คโ™กโ˜†โ™ง)(*&^/~##!-:;,?`_|<>{}ยฅยฃโ‚ฌ$โ—‡โ– โ–กโ—โ—‹โ€ขยฐโ€ปยคใ€Šใ€‹ยกยฟโ‚ฉ\[\]\"\' \\]/g ,"");
u can block all emojis and u can only use eng, num, hangle, and some Characters
thx :)

You can use this function to replace emojis with nothing:
function msgAfterClearEmojis(msg)
{
var new_msg = msg.replace(/([#0-9]\u20E3)|[\xA9\xAE\u203C\u2047-\u2049\u2122\u2139\u3030\u303D\u3297\u3299][\uFE00-\uFEFF]?|[\u2190-\u21FF][\uFE00-\uFEFF]?|[\u2300-\u23FF][\uFE00-\uFEFF]?|[\u2460-\u24FF][\uFE00-\uFEFF]?|[\u25A0-\u25FF][\uFE00-\uFEFF]?|[\u2600-\u27BF][\uFE00-\uFEFF]?|[\u2900-\u297F][\uFE00-\uFEFF]?|[\u2B00-\u2BF0][\uFE00-\uFEFF]?|(?:\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDEFF])[\uFE00-\uFEFF]?|[\u20E3]|[\u26A0-\u3000]|\uD83E[\udd00-\uddff]|[\u00A0-\u269F]/g, '').trim();
return new_msg;
}

You can check here with emoji..
๐Ÿ˜Š , ๐Ÿ˜Œ , ๐Ÿ‘ฝ
function removeEmoji() {
var y = document.getElementById('textbox_id1');
y.value = y.value.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g, '');
}
input {
padding: 5px;
}
<input type="text" id="textbox_id1" placeholder="Remove emoji..." oninput="removeEmoji()">
You can take more emojis from here: Emoji Keyboard Online

This is the iteration on #hababr's answer.
His answer removes lots of standard chars like $, +, < and so on.
This version keeps all of them (except for the \ backslash - dunno how to properly escape it).
"hey๐Ÿ˜ hau๐Ÿ’“ ahoy๐Ÿดโ€โ˜ ๏ธ !##$%^&*()-_=+ยฑยง;:'\|`~/?[]{},.<>".replace(/[^\p{L}\p{N}\p{P}\p{Z}{^$=+ยฑ\\'|`\\~<>}]/gu, "")
// "hey hau ahoy !##$%^&*()-_=+ยฑยง;:'|`~/?[]{},.<>"

I have this regex and it works for all emojis i found on this page
try this regex
<:[^:\s]+:\d+>|<a:[^:\s]+:\d+>|(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]|\ufe0f)

var emojiRegex = /\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;
console.log(text.replace(emojiRegex,'');

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
function isEmoji(str) {
var ranges = [
'[\uE000-\uF8FF]',
'\uD83C[\uDC00-\uDFFF]',
'\uD83D[\uDC00-\uDFFF]',
'[\u2011-\u26FF]',
'\uD83E[\uDD10-\uDDFF]'
];
if (str.match(ranges.join('|'))) {
return true;
} else {
return false;
}
}
$(document).ready(function(){
$('input').on('input',function(){
var $th = $(this);
console.log("Value of Input"+$th.val());
emojiInput= isEmoji($th.val());
if (emojiInput==true) {
$th.val("");
}
});
});
</script>
</head>
<body>
Enter your name: <input type="text">
</body>
</html>

There is a modern solution using categories
Modern browsers support Unicode property, which allows you to match emojis based on their belonging in the Emoji Unicode category. For example, you can use Unicode property escapes like \p{Emoji} or \P{Emoji} to match/no match emoji characters. Note that 0123456789#* and other characters are interpreted as emojis using the previous Unicode category. Therefore, a better way to do this is to use the {Extended_Pictographic} Unicode category that denotes all the characters typically understood as emojis instead of the {Emoji} category.
const withEmojis = /\p{Extended_Pictographic}/u
withEmojis.test('๐Ÿ˜€๐Ÿ˜€');
//true
withEmojis.test('ab');
//false
withEmojis.test('1');
//false
or with negation
const noEmojis = /\P{Extended_Pictographic}/u
noEmojis.test('๐Ÿ˜€');
//false
noEmojis.test('1212');
//false

You can use mathiasbynens/emoji-regex package to remove or replace emojis.
You can see the latest build's content to grab the regex by visiting following url:
http://unpkg.com/emoji-regex/index.js

In detail, this function first uses TextEncoder to convert content into a byte array with utf-8 encoding, then loops through this array, if it finds a byte whose first five bits are 11110 (i.e. 0xF0), it means this is an emoji start, then it replaces this byte and the next three bytes with 0x30 (i.e. number 0). Finally, it uses TextDecoder to convert the modified byte array back to a string, and uses replaceAll method to remove extra 0s.
function removeEmoji (content) {
let conByte = new TextEncoder("utf-8").encode(content);
for (let i = 0; i < conByte.length; i++) {
if ((conByte[i] & 0xF8) == 0xF0) {
for (let j = 0; j < 4; j++) {
conByte[i+j]=0x30;
}
i += 3;
}
}
content = new TextDecoder("utf-8").decode(conByte);
return content.replaceAll("0000", "");
}

Related

Is there any way to validate emojis without using regex with an unicode flag? [duplicate]

I need help for how to detect if an input contains a Japanese emoji/emoticon.
Currently my character set is charset=utf-8. On inputting text, the user can enter Japanese characters/alpanumerics/symbols but if they insert an emoji, onsubmit JavaScript will check if there is an emoji, error message will display.
I can't get this to work because I have no idea on how to detect an emoji in JavaScript?
The answers might work but are terrible because they rely on unicode ranges that are unreadable and somewhat "magic" because it's not always clear where do they come from and why they work, not to mention they're not resilient to new emojis being added to the spec.
Major browsers now support unicode property escape which allows for matching emojis based on their belonging in the Emoji unicode category: \p{Emoji} matches an emoji, \P{Emoji} matches a non-emoji.
Note that officially, 0123456789#* and other characters are emojis too, so the property escape you might want to use is not Emoji but rather Extended_Pictographic which denotes all the characters typically understood as emojis!
Make sure to include the u flag at the end.
console.log(
/\p{Emoji}/u.test('flowers'), // false :)
/\p{Emoji}/u.test('flowers ๐ŸŒผ๐ŸŒบ๐ŸŒธ'), // true :)
/\p{Emoji}/u.test('flowers 123'), // true :(
)
console.log(
/\p{Extended_Pictographic}/u.test('flowers'), // false :)
/\p{Extended_Pictographic}/u.test('flowers ๐ŸŒผ๐ŸŒบ๐ŸŒธ'), // true :)
/\p{Extended_Pictographic}/u.test('flowers 123'), // false :)
)
This works fine for detecting emojis, but if you want to use the same regex to extract them, you might be surprised with its behavior, since some emojis that appear as one character are actually several characters. They're what we call emoji sequences, more about them in this question
const regex = /\p{Extended_Pictographic}/ug
const family = '๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง' // "family
console.log(family.length) // not 1, but 8!
console.log(regex.test(family)) // true, as expected
console.log(family.match(regex)) // not [family], but [man, woman, girl]
You can use the following regex:
/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g
If you just want to remove it from the string, you can do something like this.
function removeEmojis (string) {
var regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;
return string.replace(regex, '');
}
A simple function that returns true if your string contains one or more emojis.
function isEmoji(str) {
var ranges = [
'(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])' // U+1F680 to U+1F6FF
];
if (str.match(ranges.join('|'))) {
return true;
} else {
return false;
}
}
First of all, you cannot rely on ECMAScript 2018+ compliant \p{Emoji} (at least at the time of writing). It really matches some 0123456789#* non-emoji chars (see Nino Filiu's answer). See Why do Unicode emoji property escapes match numbers? for more details.
To test if there are any emoji chars in a string in JavaScript, you can use the following ECMAScript 2018+ compliant solution (mind the u flag):
const regex_emoji = /[\p{Extended_Pictographic}\u{1F3FB}-\u{1F3FF}\u{1F9B0}-\u{1F9B3}]/u;
console.log( regex_emoji.test('flowers 123') ); // => false
console.log( regex_emoji.test('flowers ๐ŸŒผ๐ŸŒบ๐ŸŒธ') ); // => true
You can even extract one or more emoji char sequences using this pattern (note the added g flag to find all occurrences and + to match one or more consecutive occurrences of the character class pattern):
const regex_emoji = /[\p{Extended_Pictographic}\u{1F3FB}-\u{1F3FF}\u{1F9B0}-\u{1F9B3}]+/gu;
console.log( 'flowers 123'.match(regex_emoji) ); // => null
console.log( 'flowers ๐ŸŒผ๐ŸŒบ๐ŸŒธ'.match(regex_emoji) ); // => [ "๐ŸŒผ๐ŸŒบ๐ŸŒธ" ]
In a nutshell, the Extended_Pictographic Unicode category class matches most emoji chars except for some Emoji_Components, that is, light skin to dark skin mode chars (\u{1F3FB}-\u{1F3FF}) and red-haired to white-haired chars (\u{1F9B0}-\u{1F9B3}).
To count, or extract emojis as an array of single chars or consecutive sequences (like in the second code snippet from above) from longer texts and perform other actions on emojis, you can use a custom regex (like in Scott Weaver's answer). It is safer to use the longer, escaped version. However, there are 4702 emoji characters defined in the Emoji Keyboard/Display Test Data for UTR #51 (Version: 14.0) file. Thus, the (ES5 compliant, works even in IE) regex to match a single emoji char is
var EmojiPattern = /[#*0-9]\uFE0F?\u20E3|\u00A9\uFE0F?|[\u00AE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA]\uFE0F?|[\u231A\u231B]|[\u2328\u23CF]\uFE0F?|[\u23E9-\u23EC]|[\u23ED-\u23EF]\uFE0F?|\u23F0|[\u23F1\u23F2]\uFE0F?|\u23F3|[\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC]\uFE0F?|[\u25FD\u25FE]|[\u2600-\u2604\u260E\u2611]\uFE0F?|[\u2614\u2615]|\u2618\uFE0F?|\u261D(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642]\uFE0F?|[\u2648-\u2653]|[\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E]\uFE0F?|\u267F|\u2692\uFE0F?|\u2693|[\u2694-\u2697\u2699\u269B\u269C\u26A0]\uFE0F?|\u26A1|\u26A7\uFE0F?|[\u26AA\u26AB]|[\u26B0\u26B1]\uFE0F?|[\u26BD\u26BE\u26C4\u26C5]|\u26C8\uFE0F?|\u26CE|[\u26CF\u26D1\u26D3]\uFE0F?|\u26D4|\u26E9\uFE0F?|\u26EA|[\u26F0\u26F1]\uFE0F?|[\u26F2\u26F3]|\u26F4\uFE0F?|\u26F5|[\u26F7\u26F8]\uFE0F?|\u26F9(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?|\uFE0F(?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\u26FA\u26FD]|\u2702\uFE0F?|\u2705|[\u2708\u2709]\uFE0F?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|\u270F\uFE0F?|[\u2712\u2714\u2716\u271D\u2721]\uFE0F?|\u2728|[\u2733\u2734\u2744\u2747]\uFE0F?|[\u274C\u274E\u2753-\u2755\u2757]|\u2763\uFE0F?|\u2764(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uFE0F(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?)?|[\u2795-\u2797]|\u27A1\uFE0F?|[\u27B0\u27BF]|[\u2934\u2935\u2B05-\u2B07]\uFE0F?|[\u2B1B\u2B1C\u2B50\u2B55]|[\u3030\u303D\u3297\u3299]\uFE0F?|\uD83C(?:[\uDC04\uDCCF]|[\uDD70\uDD71\uDD7E\uDD7F]\uFE0F?|[\uDD8E\uDD91-\uDD9A]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDE01|\uDE02\uFE0F?|[\uDE1A\uDE2F\uDE32-\uDE36]|\uDE37\uFE0F?|[\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20]|[\uDF21\uDF24-\uDF2C]\uFE0F?|[\uDF2D-\uDF35]|\uDF36\uFE0F?|[\uDF37-\uDF7C]|\uDF7D\uFE0F?|[\uDF7E-\uDF84]|\uDF85(?:\uD83C[\uDFFB-\uDFFF])?|[\uDF86-\uDF93]|[\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F]\uFE0F?|[\uDFA0-\uDFC1]|\uDFC2(?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDFC5\uDFC6]|\uDFC7(?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC8\uDFC9]|\uDFCA(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDFCB\uDFCC](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?|\uFE0F(?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDFCD\uDFCE]\uFE0F?|[\uDFCF-\uDFD3]|[\uDFD4-\uDFDF]\uFE0F?|[\uDFE0-\uDFF0]|\uDFF3(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08)|\uFE0F(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?)?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?|[\uDFF5\uDFF7]\uFE0F?|[\uDFF8-\uDFFF])|\uD83D(?:[\uDC00-\uDC07]|\uDC08(?:\u200D\u2B1B)?|[\uDC09-\uDC14]|\uDC15(?:\u200D\uD83E\uDDBA)?|[\uDC16-\uDC3A]|\uDC3B(?:\u200D\u2744\uFE0F?)?|[\uDC3C-\uDC3E]|\uDC3F\uFE0F?|\uDC40|\uDC41(?:\u200D\uD83D\uDDE8\uFE0F?|\uFE0F(?:\u200D\uD83D\uDDE8\uFE0F?)?)?|[\uDC42\uDC43](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC44\uDC45]|[\uDC46-\uDC50](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC51-\uDC65]|[\uDC66\uDC67](?:\uD83C[\uDFFB-\uDFFF])?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF]|\uDC8B\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF]|\uDC8B\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF]|\uDC8B\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF]|\uDC8B\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF]|\uDC8B\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?))?|\uDC6A|[\uDC6B-\uDC6D](?:\uD83C[\uDFFB-\uDFFF])?|\uDC6E(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDC70\uDC71](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDC72(?:\uD83C[\uDFFB-\uDFFF])?|\uDC73(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDC74-\uDC76](?:\uD83C[\uDFFB-\uDFFF])?|\uDC77(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDC78(?:\uD83C[\uDFFB-\uDFFF])?|[\uDC79-\uDC7B]|\uDC7C(?:\uD83C[\uDFFB-\uDFFF])?|[\uDC7D-\uDC80]|[\uDC81\uDC82](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDC83(?:\uD83C[\uDFFB-\uDFFF])?|\uDC84|\uDC85(?:\uD83C[\uDFFB-\uDFFF])?|[\uDC86\uDC87](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDC88-\uDC8E]|\uDC8F(?:\uD83C[\uDFFB-\uDFFF])?|\uDC90|\uDC91(?:\uD83C[\uDFFB-\uDFFF])?|[\uDC92-\uDCA9]|\uDCAA(?:\uD83C[\uDFFB-\uDFFF])?|[\uDCAB-\uDCFC]|\uDCFD\uFE0F?|[\uDCFF-\uDD3D]|[\uDD49\uDD4A]\uFE0F?|[\uDD4B-\uDD4E\uDD50-\uDD67]|[\uDD6F\uDD70\uDD73]\uFE0F?|\uDD74(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|\uDD75(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?|\uFE0F(?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDD76-\uDD79]\uFE0F?|\uDD7A(?:\uD83C[\uDFFB-\uDFFF])?|[\uDD87\uDD8A-\uDD8D]\uFE0F?|\uDD90(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDD95\uDD96](?:\uD83C[\uDFFB-\uDFFF])?|\uDDA4|[\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA]\uFE0F?|[\uDDFB-\uDE2D]|\uDE2E(?:\u200D\uD83D\uDCA8)?|[\uDE2F-\uDE34]|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|[\uDE37-\uDE44]|[\uDE45-\uDE47](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDE48-\uDE4A]|\uDE4B(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDE4C(?:\uD83C[\uDFFB-\uDFFF])?|[\uDE4D\uDE4E](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDE4F(?:\uD83C[\uDFFB-\uDFFF])?|[\uDE80-\uDEA2]|\uDEA3(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDEA4-\uDEB3]|[\uDEB4-\uDEB6](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDEB7-\uDEBF]|\uDEC0(?:\uD83C[\uDFFB-\uDFFF])?|[\uDEC1-\uDEC5]|\uDECB\uFE0F?|\uDECC(?:\uD83C[\uDFFB-\uDFFF])?|[\uDECD-\uDECF]\uFE0F?|[\uDED0-\uDED2\uDED5-\uDED7\uDEDD-\uDEDF]|[\uDEE0-\uDEE5\uDEE9]\uFE0F?|[\uDEEB\uDEEC]|[\uDEF0\uDEF3]\uFE0F?|[\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0])|\uD83E(?:\uDD0C(?:\uD83C[\uDFFB-\uDFFF])?|[\uDD0D\uDD0E]|\uDD0F(?:\uD83C[\uDFFB-\uDFFF])?|[\uDD10-\uDD17]|[\uDD18-\uDD1F](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD20-\uDD25]|\uDD26(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDD27-\uDD2F]|[\uDD30-\uDD34](?:\uD83C[\uDFFB-\uDFFF])?|\uDD35(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDD36(?:\uD83C[\uDFFB-\uDFFF])?|[\uDD37-\uDD39](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDD3A|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD3D\uDD3E](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDD3F-\uDD45\uDD47-\uDD76]|\uDD77(?:\uD83C[\uDFFB-\uDFFF])?|[\uDD78-\uDDB4]|[\uDDB5\uDDB6](?:\uD83C[\uDFFB-\uDFFF])?|\uDDB7|[\uDDB8\uDDB9](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDDBA|\uDDBB(?:\uD83C[\uDFFB-\uDFFF])?|[\uDDBC-\uDDCC]|[\uDDCD-\uDDCF](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDDD0|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83E\uDDD1|[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|[\uDDAF-\uDDB3\uDDBC\uDDBD])))?))?|[\uDDD2\uDDD3](?:\uD83C[\uDFFB-\uDFFF])?|\uDDD4(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|\uDDD5(?:\uD83C[\uDFFB-\uDFFF])?|[\uDDD6-\uDDDD](?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF](?:\u200D[\u2640\u2642]\uFE0F?)?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC2]|[\uDEC3-\uDEC5](?:\uD83C[\uDFFB-\uDFFF])?|[\uDED0-\uDED9\uDEE0-\uDEE7]|\uDEF0(?:\uD83C[\uDFFB-\uDFFF])?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?|[\uDEF2-\uDEF6](?:\uD83C[\uDFFB-\uDFFF])?)/g;
See the regex demo. The g flag at the end means this regex can match all occurrences in the input string.
The pattern is created dynamically from the list of emojis and contracted using a regex trie.
See this JavaScript demo:
var text = 'flowers ๐ŸŒผ๐ŸŒบ๐ŸŒธ';
// Detecting if there is at least one emoji
console.log( emoji_detection_regex.test(text) ); // => true
// Counting emojis
console.log( (text.match(emoji_count_regex) || []).length ); // => 3
// Extracting one by one, single emoji array
console.log( text.match(emoji_count_regex) ); // => ["๐ŸŒผ","๐ŸŒบ","๐ŸŒธ"]
// Extracting emoji sequences
console.log( text.match(emoji_extract_or_remove_regex) ); // => ["๐ŸŒผ๐ŸŒบ๐ŸŒธ"]
// Removing emojis
console.log( text.replace(emoji_extract_or_remove_regex, '') ); // => 'flowers '
<script src="https://gitcdn.link/repo/stribizhev/Emojis/main/ws_emoji_regex.js"></script>
The emoji regex declarations are available in the https://github.com/stribizhev/Emojis/blob/main/ws_emoji_regex.js file.
We can detect all list of surrogate pairs or the Emoji characters in a specific range.
If the issue related with storing the input string to database like MySQL version before 5.5 we need to detect and remove all the surrogate pairs using the below regex
/([\uD800-\uDBFF][\uDC00-\uDFFF])/g.
Update for 2020: Many of these patterns don't match compound emojis or Modifier Sequences correctly, or are simply outdated and do not match the newer emojis.
Consider this kissing couple: ๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ. It's actually 6 (maybe more) other emojis glued together with the ZWJ zero-width joiner. To match this correctly, you have to actually match that sequence.
Thus, by matching the longer sequences first, this brute-force pattern (too long too paste, but it's a simple alternation and runs fast) correctly parses all 3521 combined emojis as of May 2021:
GitHub link: https://github.com/sweaver2112/Regex-combined-emojis
Edit 5/10/2021: If the size of the Unicode escape version of this regex is off-putting to you, you could actually skip the Unicode escape sequences and just use literal emojis, thereby saving tons of space...well, almost. This character, "*๏ธโƒฃ", which starts with an asterisk, will throw a "nothing to quantify" error. Getting rid of just this guy yields a much shorter, still working, copy/pastable regex that matches 3,520/3,521 Emojis at the present date:
Regex 101 Demo (compact, unsafe literal emoji version)
Regex 101 Demo (long, safe unicode escape version)
The demos' input string includes all characters from
https://unicode.org/emoji/charts/full-emoji-list.html (13.1)
https://unicode.org/emoji/charts-13.1/full-emoji-modifiers.html
Working example using the compact version:
/*the pattern*/
var emojiPattern = String.raw`(?:๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿง‘๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ|๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ|๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ|๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿปโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿผโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿฝโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿพโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿฟโ€๐Ÿคโ€๐Ÿง‘๐Ÿฟ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿปโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿผโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿพโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐Ÿพ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿปโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿผโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿฝโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿพโ€โค๏ธโ€๐Ÿง‘๐Ÿฟ|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿฟโ€โค๏ธโ€๐Ÿง‘๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿปโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿผโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿพโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘จ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿปโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฝโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿพโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฟโ€โค๏ธโ€๐Ÿ‘ฉ๐Ÿฟ|๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ|๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ|๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ|๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง|๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง|๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ|๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ|๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง|๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘|๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ|๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ|๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ|๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง|๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง|๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ|๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง|๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง|๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ|๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ|๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง|๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ|๐Ÿง”๐Ÿปโ€โ™‚๏ธ|๐Ÿง”๐Ÿผโ€โ™‚๏ธ|๐Ÿง”๐Ÿฝโ€โ™‚๏ธ|๐Ÿง”๐Ÿพโ€โ™‚๏ธ|๐Ÿง”๐Ÿฟโ€โ™‚๏ธ|๐Ÿง”๐Ÿปโ€โ™€๏ธ|๐Ÿง”๐Ÿผโ€โ™€๏ธ|๐Ÿง”๐Ÿฝโ€โ™€๏ธ|๐Ÿง”๐Ÿพโ€โ™€๏ธ|๐Ÿง”๐Ÿฟโ€โ™€๏ธ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฐ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฐ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฐ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฐ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฐ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฑ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฑ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฑ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฑ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฑ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆณ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆณ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆณ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆณ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆณ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฒ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฒ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฒ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฒ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฒ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฐ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฐ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฐ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฐ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฐ|๐Ÿง‘๐Ÿปโ€๐Ÿฆฐ|๐Ÿง‘๐Ÿผโ€๐Ÿฆฐ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆฐ|๐Ÿง‘๐Ÿพโ€๐Ÿฆฐ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆฐ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฑ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฑ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฑ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฑ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฑ|๐Ÿง‘๐Ÿปโ€๐Ÿฆฑ|๐Ÿง‘๐Ÿผโ€๐Ÿฆฑ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆฑ|๐Ÿง‘๐Ÿพโ€๐Ÿฆฑ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆฑ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆณ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆณ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆณ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆณ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆณ|๐Ÿง‘๐Ÿปโ€๐Ÿฆณ|๐Ÿง‘๐Ÿผโ€๐Ÿฆณ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆณ|๐Ÿง‘๐Ÿพโ€๐Ÿฆณ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆณ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฒ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฒ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฒ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฒ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฒ|๐Ÿง‘๐Ÿปโ€๐Ÿฆฒ|๐Ÿง‘๐Ÿผโ€๐Ÿฆฒ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆฒ|๐Ÿง‘๐Ÿพโ€๐Ÿฆฒ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆฒ|๐Ÿ‘ฑ๐Ÿปโ€โ™€๏ธ|๐Ÿ‘ฑ๐Ÿผโ€โ™€๏ธ|๐Ÿ‘ฑ๐Ÿฝโ€โ™€๏ธ|๐Ÿ‘ฑ๐Ÿพโ€โ™€๏ธ|๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ|๐Ÿ‘ฑ๐Ÿปโ€โ™‚๏ธ|๐Ÿ‘ฑ๐Ÿผโ€โ™‚๏ธ|๐Ÿ‘ฑ๐Ÿฝโ€โ™‚๏ธ|๐Ÿ‘ฑ๐Ÿพโ€โ™‚๏ธ|๐Ÿ‘ฑ๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™๐Ÿปโ€โ™‚๏ธ|๐Ÿ™๐Ÿผโ€โ™‚๏ธ|๐Ÿ™๐Ÿฝโ€โ™‚๏ธ|๐Ÿ™๐Ÿพโ€โ™‚๏ธ|๐Ÿ™๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™๐Ÿปโ€โ™€๏ธ|๐Ÿ™๐Ÿผโ€โ™€๏ธ|๐Ÿ™๐Ÿฝโ€โ™€๏ธ|๐Ÿ™๐Ÿพโ€โ™€๏ธ|๐Ÿ™๐Ÿฟโ€โ™€๏ธ|๐Ÿ™Ž๐Ÿปโ€โ™‚๏ธ|๐Ÿ™Ž๐Ÿผโ€โ™‚๏ธ|๐Ÿ™Ž๐Ÿฝโ€โ™‚๏ธ|๐Ÿ™Ž๐Ÿพโ€โ™‚๏ธ|๐Ÿ™Ž๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™Ž๐Ÿปโ€โ™€๏ธ|๐Ÿ™Ž๐Ÿผโ€โ™€๏ธ|๐Ÿ™Ž๐Ÿฝโ€โ™€๏ธ|๐Ÿ™Ž๐Ÿพโ€โ™€๏ธ|๐Ÿ™Ž๐Ÿฟโ€โ™€๏ธ|๐Ÿ™…๐Ÿปโ€โ™‚๏ธ|๐Ÿ™…๐Ÿผโ€โ™‚๏ธ|๐Ÿ™…๐Ÿฝโ€โ™‚๏ธ|๐Ÿ™…๐Ÿพโ€โ™‚๏ธ|๐Ÿ™…๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™…๐Ÿปโ€โ™€๏ธ|๐Ÿ™…๐Ÿผโ€โ™€๏ธ|๐Ÿ™…๐Ÿฝโ€โ™€๏ธ|๐Ÿ™…๐Ÿพโ€โ™€๏ธ|๐Ÿ™…๐Ÿฟโ€โ™€๏ธ|๐Ÿ™†๐Ÿปโ€โ™‚๏ธ|๐Ÿ™†๐Ÿผโ€โ™‚๏ธ|๐Ÿ™†๐Ÿฝโ€โ™‚๏ธ|๐Ÿ™†๐Ÿพโ€โ™‚๏ธ|๐Ÿ™†๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™†๐Ÿปโ€โ™€๏ธ|๐Ÿ™†๐Ÿผโ€โ™€๏ธ|๐Ÿ™†๐Ÿฝโ€โ™€๏ธ|๐Ÿ™†๐Ÿพโ€โ™€๏ธ|๐Ÿ™†๐Ÿฟโ€โ™€๏ธ|๐Ÿ’๐Ÿปโ€โ™‚๏ธ|๐Ÿ’๐Ÿผโ€โ™‚๏ธ|๐Ÿ’๐Ÿฝโ€โ™‚๏ธ|๐Ÿ’๐Ÿพโ€โ™‚๏ธ|๐Ÿ’๐Ÿฟโ€โ™‚๏ธ|๐Ÿ’๐Ÿปโ€โ™€๏ธ|๐Ÿ’๐Ÿผโ€โ™€๏ธ|๐Ÿ’๐Ÿฝโ€โ™€๏ธ|๐Ÿ’๐Ÿพโ€โ™€๏ธ|๐Ÿ’๐Ÿฟโ€โ™€๏ธ|๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ|๐Ÿ™‹๐Ÿผโ€โ™‚๏ธ|๐Ÿ™‹๐Ÿฝโ€โ™‚๏ธ|๐Ÿ™‹๐Ÿพโ€โ™‚๏ธ|๐Ÿ™‹๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™‹๐Ÿปโ€โ™€๏ธ|๐Ÿ™‹๐Ÿผโ€โ™€๏ธ|๐Ÿ™‹๐Ÿฝโ€โ™€๏ธ|๐Ÿ™‹๐Ÿพโ€โ™€๏ธ|๐Ÿ™‹๐Ÿฟโ€โ™€๏ธ|๐Ÿง๐Ÿปโ€โ™‚๏ธ|๐Ÿง๐Ÿผโ€โ™‚๏ธ|๐Ÿง๐Ÿฝโ€โ™‚๏ธ|๐Ÿง๐Ÿพโ€โ™‚๏ธ|๐Ÿง๐Ÿฟโ€โ™‚๏ธ|๐Ÿง๐Ÿปโ€โ™€๏ธ|๐Ÿง๐Ÿผโ€โ™€๏ธ|๐Ÿง๐Ÿฝโ€โ™€๏ธ|๐Ÿง๐Ÿพโ€โ™€๏ธ|๐Ÿง๐Ÿฟโ€โ™€๏ธ|๐Ÿ™‡๐Ÿปโ€โ™‚๏ธ|๐Ÿ™‡๐Ÿผโ€โ™‚๏ธ|๐Ÿ™‡๐Ÿฝโ€โ™‚๏ธ|๐Ÿ™‡๐Ÿพโ€โ™‚๏ธ|๐Ÿ™‡๐Ÿฟโ€โ™‚๏ธ|๐Ÿ™‡๐Ÿปโ€โ™€๏ธ|๐Ÿ™‡๐Ÿผโ€โ™€๏ธ|๐Ÿ™‡๐Ÿฝโ€โ™€๏ธ|๐Ÿ™‡๐Ÿพโ€โ™€๏ธ|๐Ÿ™‡๐Ÿฟโ€โ™€๏ธ|๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ|๐Ÿคฆ๐Ÿผโ€โ™‚๏ธ|๐Ÿคฆ๐Ÿฝโ€โ™‚๏ธ|๐Ÿคฆ๐Ÿพโ€โ™‚๏ธ|๐Ÿคฆ๐Ÿฟโ€โ™‚๏ธ|๐Ÿคฆ๐Ÿปโ€โ™€๏ธ|๐Ÿคฆ๐Ÿผโ€โ™€๏ธ|๐Ÿคฆ๐Ÿฝโ€โ™€๏ธ|๐Ÿคฆ๐Ÿพโ€โ™€๏ธ|๐Ÿคฆ๐Ÿฟโ€โ™€๏ธ|๐Ÿคท๐Ÿปโ€โ™‚๏ธ|๐Ÿคท๐Ÿผโ€โ™‚๏ธ|๐Ÿคท๐Ÿฝโ€โ™‚๏ธ|๐Ÿคท๐Ÿพโ€โ™‚๏ธ|๐Ÿคท๐Ÿฟโ€โ™‚๏ธ|๐Ÿคท๐Ÿปโ€โ™€๏ธ|๐Ÿคท๐Ÿผโ€โ™€๏ธ|๐Ÿคท๐Ÿฝโ€โ™€๏ธ|๐Ÿคท๐Ÿพโ€โ™€๏ธ|๐Ÿคท๐Ÿฟโ€โ™€๏ธ|๐Ÿง‘๐Ÿปโ€โš•๏ธ|๐Ÿง‘๐Ÿผโ€โš•๏ธ|๐Ÿง‘๐Ÿฝโ€โš•๏ธ|๐Ÿง‘๐Ÿพโ€โš•๏ธ|๐Ÿง‘๐Ÿฟโ€โš•๏ธ|๐Ÿ‘จ๐Ÿปโ€โš•๏ธ|๐Ÿ‘จ๐Ÿผโ€โš•๏ธ|๐Ÿ‘จ๐Ÿฝโ€โš•๏ธ|๐Ÿ‘จ๐Ÿพโ€โš•๏ธ|๐Ÿ‘จ๐Ÿฟโ€โš•๏ธ|๐Ÿ‘ฉ๐Ÿปโ€โš•๏ธ|๐Ÿ‘ฉ๐Ÿผโ€โš•๏ธ|๐Ÿ‘ฉ๐Ÿฝโ€โš•๏ธ|๐Ÿ‘ฉ๐Ÿพโ€โš•๏ธ|๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ|๐Ÿง‘๐Ÿปโ€๐ŸŽ“|๐Ÿง‘๐Ÿผโ€๐ŸŽ“|๐Ÿง‘๐Ÿฝโ€๐ŸŽ“|๐Ÿง‘๐Ÿพโ€๐ŸŽ“|๐Ÿง‘๐Ÿฟโ€๐ŸŽ“|๐Ÿ‘จ๐Ÿปโ€๐ŸŽ“|๐Ÿ‘จ๐Ÿผโ€๐ŸŽ“|๐Ÿ‘จ๐Ÿฝโ€๐ŸŽ“|๐Ÿ‘จ๐Ÿพโ€๐ŸŽ“|๐Ÿ‘จ๐Ÿฟโ€๐ŸŽ“|๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽ“|๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽ“|๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽ“|๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽ“|๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽ“|๐Ÿง‘๐Ÿปโ€๐Ÿซ|๐Ÿง‘๐Ÿผโ€๐Ÿซ|๐Ÿง‘๐Ÿฝโ€๐Ÿซ|๐Ÿง‘๐Ÿพโ€๐Ÿซ|๐Ÿง‘๐Ÿฟโ€๐Ÿซ|๐Ÿ‘จ๐Ÿปโ€๐Ÿซ|๐Ÿ‘จ๐Ÿผโ€๐Ÿซ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿซ|๐Ÿ‘จ๐Ÿพโ€๐Ÿซ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿซ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿซ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿซ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿซ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿซ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿซ|๐Ÿง‘๐Ÿปโ€โš–๏ธ|๐Ÿง‘๐Ÿผโ€โš–๏ธ|๐Ÿง‘๐Ÿฝโ€โš–๏ธ|๐Ÿง‘๐Ÿพโ€โš–๏ธ|๐Ÿง‘๐Ÿฟโ€โš–๏ธ|๐Ÿ‘จ๐Ÿปโ€โš–๏ธ|๐Ÿ‘จ๐Ÿผโ€โš–๏ธ|๐Ÿ‘จ๐Ÿฝโ€โš–๏ธ|๐Ÿ‘จ๐Ÿพโ€โš–๏ธ|๐Ÿ‘จ๐Ÿฟโ€โš–๏ธ|๐Ÿ‘ฉ๐Ÿปโ€โš–๏ธ|๐Ÿ‘ฉ๐Ÿผโ€โš–๏ธ|๐Ÿ‘ฉ๐Ÿฝโ€โš–๏ธ|๐Ÿ‘ฉ๐Ÿพโ€โš–๏ธ|๐Ÿ‘ฉ๐Ÿฟโ€โš–๏ธ|๐Ÿง‘๐Ÿปโ€๐ŸŒพ|๐Ÿง‘๐Ÿผโ€๐ŸŒพ|๐Ÿง‘๐Ÿฝโ€๐ŸŒพ|๐Ÿง‘๐Ÿพโ€๐ŸŒพ|๐Ÿง‘๐Ÿฟโ€๐ŸŒพ|๐Ÿ‘จ๐Ÿปโ€๐ŸŒพ|๐Ÿ‘จ๐Ÿผโ€๐ŸŒพ|๐Ÿ‘จ๐Ÿฝโ€๐ŸŒพ|๐Ÿ‘จ๐Ÿพโ€๐ŸŒพ|๐Ÿ‘จ๐Ÿฟโ€๐ŸŒพ|๐Ÿ‘ฉ๐Ÿปโ€๐ŸŒพ|๐Ÿ‘ฉ๐Ÿผโ€๐ŸŒพ|๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŒพ|๐Ÿ‘ฉ๐Ÿพโ€๐ŸŒพ|๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŒพ|๐Ÿง‘๐Ÿปโ€๐Ÿณ|๐Ÿง‘๐Ÿผโ€๐Ÿณ|๐Ÿง‘๐Ÿฝโ€๐Ÿณ|๐Ÿง‘๐Ÿพโ€๐Ÿณ|๐Ÿง‘๐Ÿฟโ€๐Ÿณ|๐Ÿ‘จ๐Ÿปโ€๐Ÿณ|๐Ÿ‘จ๐Ÿผโ€๐Ÿณ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿณ|๐Ÿ‘จ๐Ÿพโ€๐Ÿณ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿณ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿณ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿณ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿณ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿณ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿณ|๐Ÿง‘๐Ÿปโ€๐Ÿ”ง|๐Ÿง‘๐Ÿผโ€๐Ÿ”ง|๐Ÿง‘๐Ÿฝโ€๐Ÿ”ง|๐Ÿง‘๐Ÿพโ€๐Ÿ”ง|๐Ÿง‘๐Ÿฟโ€๐Ÿ”ง|๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ง|๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ง|๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ง|๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ง|๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ง|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ง|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ง|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ง|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ง|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ง|๐Ÿง‘๐Ÿปโ€๐Ÿญ|๐Ÿง‘๐Ÿผโ€๐Ÿญ|๐Ÿง‘๐Ÿฝโ€๐Ÿญ|๐Ÿง‘๐Ÿพโ€๐Ÿญ|๐Ÿง‘๐Ÿฟโ€๐Ÿญ|๐Ÿ‘จ๐Ÿปโ€๐Ÿญ|๐Ÿ‘จ๐Ÿผโ€๐Ÿญ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿญ|๐Ÿ‘จ๐Ÿพโ€๐Ÿญ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿญ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿญ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿญ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿญ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿญ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿญ|๐Ÿง‘๐Ÿปโ€๐Ÿ’ผ|๐Ÿง‘๐Ÿผโ€๐Ÿ’ผ|๐Ÿง‘๐Ÿฝโ€๐Ÿ’ผ|๐Ÿง‘๐Ÿพโ€๐Ÿ’ผ|๐Ÿง‘๐Ÿฟโ€๐Ÿ’ผ|๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ผ|๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ผ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ผ|๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ผ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ผ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ผ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ผ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ผ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ผ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ผ|๐Ÿง‘๐Ÿปโ€๐Ÿ”ฌ|๐Ÿง‘๐Ÿผโ€๐Ÿ”ฌ|๐Ÿง‘๐Ÿฝโ€๐Ÿ”ฌ|๐Ÿง‘๐Ÿพโ€๐Ÿ”ฌ|๐Ÿง‘๐Ÿฟโ€๐Ÿ”ฌ|๐Ÿ‘จ๐Ÿปโ€๐Ÿ”ฌ|๐Ÿ‘จ๐Ÿผโ€๐Ÿ”ฌ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿ”ฌ|๐Ÿ‘จ๐Ÿพโ€๐Ÿ”ฌ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ฌ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ฌ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ”ฌ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ”ฌ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ”ฌ|๐Ÿง‘๐Ÿปโ€๐Ÿ’ป|๐Ÿง‘๐Ÿผโ€๐Ÿ’ป|๐Ÿง‘๐Ÿฝโ€๐Ÿ’ป|๐Ÿง‘๐Ÿพโ€๐Ÿ’ป|๐Ÿง‘๐Ÿฟโ€๐Ÿ’ป|๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป|๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป|๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป|๐Ÿ‘จ๐Ÿพโ€๐Ÿ’ป|๐Ÿ‘จ๐Ÿฟโ€๐Ÿ’ป|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿ’ป|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿ’ป|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ’ป|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿ’ป|๐Ÿง‘๐Ÿปโ€๐ŸŽค|๐Ÿง‘๐Ÿผโ€๐ŸŽค|๐Ÿง‘๐Ÿฝโ€๐ŸŽค|๐Ÿง‘๐Ÿพโ€๐ŸŽค|๐Ÿง‘๐Ÿฟโ€๐ŸŽค|๐Ÿ‘จ๐Ÿปโ€๐ŸŽค|๐Ÿ‘จ๐Ÿผโ€๐ŸŽค|๐Ÿ‘จ๐Ÿฝโ€๐ŸŽค|๐Ÿ‘จ๐Ÿพโ€๐ŸŽค|๐Ÿ‘จ๐Ÿฟโ€๐ŸŽค|๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽค|๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽค|๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽค|๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽค|๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽค|๐Ÿง‘๐Ÿปโ€๐ŸŽจ|๐Ÿง‘๐Ÿผโ€๐ŸŽจ|๐Ÿง‘๐Ÿฝโ€๐ŸŽจ|๐Ÿง‘๐Ÿพโ€๐ŸŽจ|๐Ÿง‘๐Ÿฟโ€๐ŸŽจ|๐Ÿ‘จ๐Ÿปโ€๐ŸŽจ|๐Ÿ‘จ๐Ÿผโ€๐ŸŽจ|๐Ÿ‘จ๐Ÿฝโ€๐ŸŽจ|๐Ÿ‘จ๐Ÿพโ€๐ŸŽจ|๐Ÿ‘จ๐Ÿฟโ€๐ŸŽจ|๐Ÿ‘ฉ๐Ÿปโ€๐ŸŽจ|๐Ÿ‘ฉ๐Ÿผโ€๐ŸŽจ|๐Ÿ‘ฉ๐Ÿฝโ€๐ŸŽจ|๐Ÿ‘ฉ๐Ÿพโ€๐ŸŽจ|๐Ÿ‘ฉ๐Ÿฟโ€๐ŸŽจ|๐Ÿง‘๐Ÿปโ€โœˆ๏ธ|๐Ÿง‘๐Ÿผโ€โœˆ๏ธ|๐Ÿง‘๐Ÿฝโ€โœˆ๏ธ|๐Ÿง‘๐Ÿพโ€โœˆ๏ธ|๐Ÿง‘๐Ÿฟโ€โœˆ๏ธ|๐Ÿ‘จ๐Ÿปโ€โœˆ๏ธ|๐Ÿ‘จ๐Ÿผโ€โœˆ๏ธ|๐Ÿ‘จ๐Ÿฝโ€โœˆ๏ธ|๐Ÿ‘จ๐Ÿพโ€โœˆ๏ธ|๐Ÿ‘จ๐Ÿฟโ€โœˆ๏ธ|๐Ÿ‘ฉ๐Ÿปโ€โœˆ๏ธ|๐Ÿ‘ฉ๐Ÿผโ€โœˆ๏ธ|๐Ÿ‘ฉ๐Ÿฝโ€โœˆ๏ธ|๐Ÿ‘ฉ๐Ÿพโ€โœˆ๏ธ|๐Ÿ‘ฉ๐Ÿฟโ€โœˆ๏ธ|๐Ÿง‘๐Ÿปโ€๐Ÿš€|๐Ÿง‘๐Ÿผโ€๐Ÿš€|๐Ÿง‘๐Ÿฝโ€๐Ÿš€|๐Ÿง‘๐Ÿพโ€๐Ÿš€|๐Ÿง‘๐Ÿฟโ€๐Ÿš€|๐Ÿ‘จ๐Ÿปโ€๐Ÿš€|๐Ÿ‘จ๐Ÿผโ€๐Ÿš€|๐Ÿ‘จ๐Ÿฝโ€๐Ÿš€|๐Ÿ‘จ๐Ÿพโ€๐Ÿš€|๐Ÿ‘จ๐Ÿฟโ€๐Ÿš€|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš€|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš€|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš€|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš€|๐Ÿง‘๐Ÿปโ€๐Ÿš’|๐Ÿง‘๐Ÿผโ€๐Ÿš’|๐Ÿง‘๐Ÿฝโ€๐Ÿš’|๐Ÿง‘๐Ÿพโ€๐Ÿš’|๐Ÿง‘๐Ÿฟโ€๐Ÿš’|๐Ÿ‘จ๐Ÿปโ€๐Ÿš’|๐Ÿ‘จ๐Ÿผโ€๐Ÿš’|๐Ÿ‘จ๐Ÿฝโ€๐Ÿš’|๐Ÿ‘จ๐Ÿพโ€๐Ÿš’|๐Ÿ‘จ๐Ÿฟโ€๐Ÿš’|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš’|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿš’|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿš’|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš’|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿš’|๐Ÿ‘ฎ๐Ÿปโ€โ™‚๏ธ|๐Ÿ‘ฎ๐Ÿผโ€โ™‚๏ธ|๐Ÿ‘ฎ๐Ÿฝโ€โ™‚๏ธ|๐Ÿ‘ฎ๐Ÿพโ€โ™‚๏ธ|๐Ÿ‘ฎ๐Ÿฟโ€โ™‚๏ธ|๐Ÿ‘ฎ๐Ÿปโ€โ™€๏ธ|๐Ÿ‘ฎ๐Ÿผโ€โ™€๏ธ|๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ|๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ|๐Ÿ‘ฎ๐Ÿฟโ€โ™€๏ธ|๐Ÿ•ต๐Ÿปโ€โ™‚๏ธ|๐Ÿ•ต๐Ÿผโ€โ™‚๏ธ|๐Ÿ•ต๐Ÿฝโ€โ™‚๏ธ|๐Ÿ•ต๐Ÿพโ€โ™‚๏ธ|๐Ÿ•ต๐Ÿฟโ€โ™‚๏ธ|๐Ÿ•ต๐Ÿปโ€โ™€๏ธ|๐Ÿ•ต๐Ÿผโ€โ™€๏ธ|๐Ÿ•ต๐Ÿฝโ€โ™€๏ธ|๐Ÿ•ต๐Ÿพโ€โ™€๏ธ|๐Ÿ•ต๐Ÿฟโ€โ™€๏ธ|๐Ÿ’‚๐Ÿปโ€โ™‚๏ธ|๐Ÿ’‚๐Ÿผโ€โ™‚๏ธ|๐Ÿ’‚๐Ÿฝโ€โ™‚๏ธ|๐Ÿ’‚๐Ÿพโ€โ™‚๏ธ|๐Ÿ’‚๐Ÿฟโ€โ™‚๏ธ|๐Ÿ’‚๐Ÿปโ€โ™€๏ธ|๐Ÿ’‚๐Ÿผโ€โ™€๏ธ|๐Ÿ’‚๐Ÿฝโ€โ™€๏ธ|๐Ÿ’‚๐Ÿพโ€โ™€๏ธ|๐Ÿ’‚๐Ÿฟโ€โ™€๏ธ|๐Ÿ‘ท๐Ÿปโ€โ™‚๏ธ|๐Ÿ‘ท๐Ÿผโ€โ™‚๏ธ|๐Ÿ‘ท๐Ÿฝโ€โ™‚๏ธ|๐Ÿ‘ท๐Ÿพโ€โ™‚๏ธ|๐Ÿ‘ท๐Ÿฟโ€โ™‚๏ธ|๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ|๐Ÿ‘ท๐Ÿผโ€โ™€๏ธ|๐Ÿ‘ท๐Ÿฝโ€โ™€๏ธ|๐Ÿ‘ท๐Ÿพโ€โ™€๏ธ|๐Ÿ‘ท๐Ÿฟโ€โ™€๏ธ|๐Ÿ‘ณ๐Ÿปโ€โ™‚๏ธ|๐Ÿ‘ณ๐Ÿผโ€โ™‚๏ธ|๐Ÿ‘ณ๐Ÿฝโ€โ™‚๏ธ|๐Ÿ‘ณ๐Ÿพโ€โ™‚๏ธ|๐Ÿ‘ณ๐Ÿฟโ€โ™‚๏ธ|๐Ÿ‘ณ๐Ÿปโ€โ™€๏ธ|๐Ÿ‘ณ๐Ÿผโ€โ™€๏ธ|๐Ÿ‘ณ๐Ÿฝโ€โ™€๏ธ|๐Ÿ‘ณ๐Ÿพโ€โ™€๏ธ|๐Ÿ‘ณ๐Ÿฟโ€โ™€๏ธ|๐Ÿคต๐Ÿปโ€โ™‚๏ธ|๐Ÿคต๐Ÿผโ€โ™‚๏ธ|๐Ÿคต๐Ÿฝโ€โ™‚๏ธ|๐Ÿคต๐Ÿพโ€โ™‚๏ธ|๐Ÿคต๐Ÿฟโ€โ™‚๏ธ|๐Ÿคต๐Ÿปโ€โ™€๏ธ|๐Ÿคต๐Ÿผโ€โ™€๏ธ|๐Ÿคต๐Ÿฝโ€โ™€๏ธ|๐Ÿคต๐Ÿพโ€โ™€๏ธ|๐Ÿคต๐Ÿฟโ€โ™€๏ธ|๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ|๐Ÿ‘ฐ๐Ÿผโ€โ™‚๏ธ|๐Ÿ‘ฐ๐Ÿฝโ€โ™‚๏ธ|๐Ÿ‘ฐ๐Ÿพโ€โ™‚๏ธ|๐Ÿ‘ฐ๐Ÿฟโ€โ™‚๏ธ|๐Ÿ‘ฐ๐Ÿปโ€โ™€๏ธ|๐Ÿ‘ฐ๐Ÿผโ€โ™€๏ธ|๐Ÿ‘ฐ๐Ÿฝโ€โ™€๏ธ|๐Ÿ‘ฐ๐Ÿพโ€โ™€๏ธ|๐Ÿ‘ฐ๐Ÿฟโ€โ™€๏ธ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿผ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿผ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿผ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿผ|๐Ÿ‘จ๐Ÿปโ€๐Ÿผ|๐Ÿ‘จ๐Ÿผโ€๐Ÿผ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿผ|๐Ÿ‘จ๐Ÿพโ€๐Ÿผ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿผ|๐Ÿง‘๐Ÿปโ€๐Ÿผ|๐Ÿง‘๐Ÿผโ€๐Ÿผ|๐Ÿง‘๐Ÿฝโ€๐Ÿผ|๐Ÿง‘๐Ÿพโ€๐Ÿผ|๐Ÿง‘๐Ÿฟโ€๐Ÿผ|๐Ÿง‘๐Ÿปโ€๐ŸŽ„|๐Ÿง‘๐Ÿผโ€๐ŸŽ„|๐Ÿง‘๐Ÿฝโ€๐ŸŽ„|๐Ÿง‘๐Ÿพโ€๐ŸŽ„|๐Ÿง‘๐Ÿฟโ€๐ŸŽ„|๐Ÿฆธ๐Ÿปโ€โ™‚๏ธ|๐Ÿฆธ๐Ÿผโ€โ™‚๏ธ|๐Ÿฆธ๐Ÿฝโ€โ™‚๏ธ|๐Ÿฆธ๐Ÿพโ€โ™‚๏ธ|๐Ÿฆธ๐Ÿฟโ€โ™‚๏ธ|๐Ÿฆธ๐Ÿปโ€โ™€๏ธ|๐Ÿฆธ๐Ÿผโ€โ™€๏ธ|๐Ÿฆธ๐Ÿฝโ€โ™€๏ธ|๐Ÿฆธ๐Ÿพโ€โ™€๏ธ|๐Ÿฆธ๐Ÿฟโ€โ™€๏ธ|๐Ÿฆน๐Ÿปโ€โ™‚๏ธ|๐Ÿฆน๐Ÿผโ€โ™‚๏ธ|๐Ÿฆน๐Ÿฝโ€โ™‚๏ธ|๐Ÿฆน๐Ÿพโ€โ™‚๏ธ|๐Ÿฆน๐Ÿฟโ€โ™‚๏ธ|๐Ÿฆน๐Ÿปโ€โ™€๏ธ|๐Ÿฆน๐Ÿผโ€โ™€๏ธ|๐Ÿฆน๐Ÿฝโ€โ™€๏ธ|๐Ÿฆน๐Ÿพโ€โ™€๏ธ|๐Ÿฆน๐Ÿฟโ€โ™€๏ธ|๐Ÿง™๐Ÿปโ€โ™‚๏ธ|๐Ÿง™๐Ÿผโ€โ™‚๏ธ|๐Ÿง™๐Ÿฝโ€โ™‚๏ธ|๐Ÿง™๐Ÿพโ€โ™‚๏ธ|๐Ÿง™๐Ÿฟโ€โ™‚๏ธ|๐Ÿง™๐Ÿปโ€โ™€๏ธ|๐Ÿง™๐Ÿผโ€โ™€๏ธ|๐Ÿง™๐Ÿฝโ€โ™€๏ธ|๐Ÿง™๐Ÿพโ€โ™€๏ธ|๐Ÿง™๐Ÿฟโ€โ™€๏ธ|๐Ÿงš๐Ÿปโ€โ™‚๏ธ|๐Ÿงš๐Ÿผโ€โ™‚๏ธ|๐Ÿงš๐Ÿฝโ€โ™‚๏ธ|๐Ÿงš๐Ÿพโ€โ™‚๏ธ|๐Ÿงš๐Ÿฟโ€โ™‚๏ธ|๐Ÿงš๐Ÿปโ€โ™€๏ธ|๐Ÿงš๐Ÿผโ€โ™€๏ธ|๐Ÿงš๐Ÿฝโ€โ™€๏ธ|๐Ÿงš๐Ÿพโ€โ™€๏ธ|๐Ÿงš๐Ÿฟโ€โ™€๏ธ|๐Ÿง›๐Ÿปโ€โ™‚๏ธ|๐Ÿง›๐Ÿผโ€โ™‚๏ธ|๐Ÿง›๐Ÿฝโ€โ™‚๏ธ|๐Ÿง›๐Ÿพโ€โ™‚๏ธ|๐Ÿง›๐Ÿฟโ€โ™‚๏ธ|๐Ÿง›๐Ÿปโ€โ™€๏ธ|๐Ÿง›๐Ÿผโ€โ™€๏ธ|๐Ÿง›๐Ÿฝโ€โ™€๏ธ|๐Ÿง›๐Ÿพโ€โ™€๏ธ|๐Ÿง›๐Ÿฟโ€โ™€๏ธ|๐Ÿงœ๐Ÿปโ€โ™‚๏ธ|๐Ÿงœ๐Ÿผโ€โ™‚๏ธ|๐Ÿงœ๐Ÿฝโ€โ™‚๏ธ|๐Ÿงœ๐Ÿพโ€โ™‚๏ธ|๐Ÿงœ๐Ÿฟโ€โ™‚๏ธ|๐Ÿงœ๐Ÿปโ€โ™€๏ธ|๐Ÿงœ๐Ÿผโ€โ™€๏ธ|๐Ÿงœ๐Ÿฝโ€โ™€๏ธ|๐Ÿงœ๐Ÿพโ€โ™€๏ธ|๐Ÿงœ๐Ÿฟโ€โ™€๏ธ|๐Ÿง๐Ÿปโ€โ™‚๏ธ|๐Ÿง๐Ÿผโ€โ™‚๏ธ|๐Ÿง๐Ÿฝโ€โ™‚๏ธ|๐Ÿง๐Ÿพโ€โ™‚๏ธ|๐Ÿง๐Ÿฟโ€โ™‚๏ธ|๐Ÿง๐Ÿปโ€โ™€๏ธ|๐Ÿง๐Ÿผโ€โ™€๏ธ|๐Ÿง๐Ÿฝโ€โ™€๏ธ|๐Ÿง๐Ÿพโ€โ™€๏ธ|๐Ÿง๐Ÿฟโ€โ™€๏ธ|๐Ÿ’†๐Ÿปโ€โ™‚๏ธ|๐Ÿ’†๐Ÿผโ€โ™‚๏ธ|๐Ÿ’†๐Ÿฝโ€โ™‚๏ธ|๐Ÿ’†๐Ÿพโ€โ™‚๏ธ|๐Ÿ’†๐Ÿฟโ€โ™‚๏ธ|๐Ÿ’†๐Ÿปโ€โ™€๏ธ|๐Ÿ’†๐Ÿผโ€โ™€๏ธ|๐Ÿ’†๐Ÿฝโ€โ™€๏ธ|๐Ÿ’†๐Ÿพโ€โ™€๏ธ|๐Ÿ’†๐Ÿฟโ€โ™€๏ธ|๐Ÿ’‡๐Ÿปโ€โ™‚๏ธ|๐Ÿ’‡๐Ÿผโ€โ™‚๏ธ|๐Ÿ’‡๐Ÿฝโ€โ™‚๏ธ|๐Ÿ’‡๐Ÿพโ€โ™‚๏ธ|๐Ÿ’‡๐Ÿฟโ€โ™‚๏ธ|๐Ÿ’‡๐Ÿปโ€โ™€๏ธ|๐Ÿ’‡๐Ÿผโ€โ™€๏ธ|๐Ÿ’‡๐Ÿฝโ€โ™€๏ธ|๐Ÿ’‡๐Ÿพโ€โ™€๏ธ|๐Ÿ’‡๐Ÿฟโ€โ™€๏ธ|๐Ÿšถ๐Ÿปโ€โ™‚๏ธ|๐Ÿšถ๐Ÿผโ€โ™‚๏ธ|๐Ÿšถ๐Ÿฝโ€โ™‚๏ธ|๐Ÿšถ๐Ÿพโ€โ™‚๏ธ|๐Ÿšถ๐Ÿฟโ€โ™‚๏ธ|๐Ÿšถ๐Ÿปโ€โ™€๏ธ|๐Ÿšถ๐Ÿผโ€โ™€๏ธ|๐Ÿšถ๐Ÿฝโ€โ™€๏ธ|๐Ÿšถ๐Ÿพโ€โ™€๏ธ|๐Ÿšถ๐Ÿฟโ€โ™€๏ธ|๐Ÿง๐Ÿปโ€โ™‚๏ธ|๐Ÿง๐Ÿผโ€โ™‚๏ธ|๐Ÿง๐Ÿฝโ€โ™‚๏ธ|๐Ÿง๐Ÿพโ€โ™‚๏ธ|๐Ÿง๐Ÿฟโ€โ™‚๏ธ|๐Ÿง๐Ÿปโ€โ™€๏ธ|๐Ÿง๐Ÿผโ€โ™€๏ธ|๐Ÿง๐Ÿฝโ€โ™€๏ธ|๐Ÿง๐Ÿพโ€โ™€๏ธ|๐Ÿง๐Ÿฟโ€โ™€๏ธ|๐ŸงŽ๐Ÿปโ€โ™‚๏ธ|๐ŸงŽ๐Ÿผโ€โ™‚๏ธ|๐ŸงŽ๐Ÿฝโ€โ™‚๏ธ|๐ŸงŽ๐Ÿพโ€โ™‚๏ธ|๐ŸงŽ๐Ÿฟโ€โ™‚๏ธ|๐ŸงŽ๐Ÿปโ€โ™€๏ธ|๐ŸงŽ๐Ÿผโ€โ™€๏ธ|๐ŸงŽ๐Ÿฝโ€โ™€๏ธ|๐ŸงŽ๐Ÿพโ€โ™€๏ธ|๐ŸงŽ๐Ÿฟโ€โ™€๏ธ|๐Ÿง‘๐Ÿปโ€๐Ÿฆฏ|๐Ÿง‘๐Ÿผโ€๐Ÿฆฏ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆฏ|๐Ÿง‘๐Ÿพโ€๐Ÿฆฏ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆฏ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฏ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฏ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฏ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฏ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฏ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฏ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฏ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฏ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฏ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฏ|๐Ÿง‘๐Ÿปโ€๐Ÿฆผ|๐Ÿง‘๐Ÿผโ€๐Ÿฆผ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆผ|๐Ÿง‘๐Ÿพโ€๐Ÿฆผ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆผ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆผ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆผ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆผ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆผ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆผ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆผ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆผ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆผ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆผ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆผ|๐Ÿง‘๐Ÿปโ€๐Ÿฆฝ|๐Ÿง‘๐Ÿผโ€๐Ÿฆฝ|๐Ÿง‘๐Ÿฝโ€๐Ÿฆฝ|๐Ÿง‘๐Ÿพโ€๐Ÿฆฝ|๐Ÿง‘๐Ÿฟโ€๐Ÿฆฝ|๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฝ|๐Ÿ‘จ๐Ÿผโ€๐Ÿฆฝ|๐Ÿ‘จ๐Ÿฝโ€๐Ÿฆฝ|๐Ÿ‘จ๐Ÿพโ€๐Ÿฆฝ|๐Ÿ‘จ๐Ÿฟโ€๐Ÿฆฝ|๐Ÿ‘ฉ๐Ÿปโ€๐Ÿฆฝ|๐Ÿ‘ฉ๐Ÿผโ€๐Ÿฆฝ|๐Ÿ‘ฉ๐Ÿฝโ€๐Ÿฆฝ|๐Ÿ‘ฉ๐Ÿพโ€๐Ÿฆฝ|๐Ÿ‘ฉ๐Ÿฟโ€๐Ÿฆฝ|๐Ÿƒ๐Ÿปโ€โ™‚๏ธ|๐Ÿƒ๐Ÿผโ€โ™‚๏ธ|๐Ÿƒ๐Ÿฝโ€โ™‚๏ธ|๐Ÿƒ๐Ÿพโ€โ™‚๏ธ|๐Ÿƒ๐Ÿฟโ€โ™‚๏ธ|๐Ÿƒ๐Ÿปโ€โ™€๏ธ|๐Ÿƒ๐Ÿผโ€โ™€๏ธ|๐Ÿƒ๐Ÿฝโ€โ™€๏ธ|๐Ÿƒ๐Ÿพโ€โ™€๏ธ|๐Ÿƒ๐Ÿฟโ€โ™€๏ธ|๐Ÿง–๐Ÿปโ€โ™‚๏ธ|๐Ÿง–๐Ÿผโ€โ™‚๏ธ|๐Ÿง–๐Ÿฝโ€โ™‚๏ธ|๐Ÿง–๐Ÿพโ€โ™‚๏ธ|๐Ÿง–๐Ÿฟโ€โ™‚๏ธ|๐Ÿง–๐Ÿปโ€โ™€๏ธ|๐Ÿง–๐Ÿผโ€โ™€๏ธ|๐Ÿง–๐Ÿฝโ€โ™€๏ธ|๐Ÿง–๐Ÿพโ€โ™€๏ธ|๐Ÿง–๐Ÿฟโ€โ™€๏ธ|๐Ÿง—๐Ÿปโ€โ™‚๏ธ|๐Ÿง—๐Ÿผโ€โ™‚๏ธ|๐Ÿง—๐Ÿฝโ€โ™‚๏ธ|๐Ÿง—๐Ÿพโ€โ™‚๏ธ|๐Ÿง—๐Ÿฟโ€โ™‚๏ธ|๐Ÿง—๐Ÿปโ€โ™€๏ธ|๐Ÿง—๐Ÿผโ€โ™€๏ธ|๐Ÿง—๐Ÿฝโ€โ™€๏ธ|๐Ÿง—๐Ÿพโ€โ™€๏ธ|๐Ÿง—๐Ÿฟโ€โ™€๏ธ|๐ŸŒ๐Ÿปโ€โ™‚๏ธ|๐ŸŒ๐Ÿผโ€โ™‚๏ธ|๐ŸŒ๐Ÿฝโ€โ™‚๏ธ|๐ŸŒ๐Ÿพโ€โ™‚๏ธ|๐ŸŒ๐Ÿฟโ€โ™‚๏ธ|๐ŸŒ๐Ÿปโ€โ™€๏ธ|๐ŸŒ๐Ÿผโ€โ™€๏ธ|๐ŸŒ๐Ÿฝโ€โ™€๏ธ|๐ŸŒ๐Ÿพโ€โ™€๏ธ|๐ŸŒ๐Ÿฟโ€โ™€๏ธ|๐Ÿ„๐Ÿปโ€โ™‚๏ธ|๐Ÿ„๐Ÿผโ€โ™‚๏ธ|๐Ÿ„๐Ÿฝโ€โ™‚๏ธ|๐Ÿ„๐Ÿพโ€โ™‚๏ธ|๐Ÿ„๐Ÿฟโ€โ™‚๏ธ|๐Ÿ„๐Ÿปโ€โ™€๏ธ|๐Ÿ„๐Ÿผโ€โ™€๏ธ|๐Ÿ„๐Ÿฝโ€โ™€๏ธ|๐Ÿ„๐Ÿพโ€โ™€๏ธ|๐Ÿ„๐Ÿฟโ€โ™€๏ธ|๐Ÿšฃ๐Ÿปโ€โ™‚๏ธ|๐Ÿšฃ๐Ÿผโ€โ™‚๏ธ|๐Ÿšฃ๐Ÿฝโ€โ™‚๏ธ|๐Ÿšฃ๐Ÿพโ€โ™‚๏ธ|๐Ÿšฃ๐Ÿฟโ€โ™‚๏ธ|๐Ÿšฃ๐Ÿปโ€โ™€๏ธ|๐Ÿšฃ๐Ÿผโ€โ™€๏ธ|๐Ÿšฃ๐Ÿฝโ€โ™€๏ธ|๐Ÿšฃ๐Ÿพโ€โ™€๏ธ|๐Ÿšฃ๐Ÿฟโ€โ™€๏ธ|๐ŸŠ๐Ÿปโ€โ™‚๏ธ|๐ŸŠ๐Ÿผโ€โ™‚๏ธ|๐ŸŠ๐Ÿฝโ€โ™‚๏ธ|๐ŸŠ๐Ÿพโ€โ™‚๏ธ|๐ŸŠ๐Ÿฟโ€โ™‚๏ธ|๐ŸŠ๐Ÿปโ€โ™€๏ธ|๐ŸŠ๐Ÿผโ€โ™€๏ธ|๐ŸŠ๐Ÿฝโ€โ™€๏ธ|๐ŸŠ๐Ÿพโ€โ™€๏ธ|๐ŸŠ๐Ÿฟโ€โ™€๏ธ|๐Ÿ‹๐Ÿปโ€โ™‚๏ธ|๐Ÿ‹๐Ÿผโ€โ™‚๏ธ|๐Ÿ‹๐Ÿฝโ€โ™‚๏ธ|๐Ÿ‹๐Ÿพโ€โ™‚๏ธ|๐Ÿ‹๐Ÿฟโ€โ™‚๏ธ|๐Ÿ‹๐Ÿปโ€โ™€๏ธ|๐Ÿ‹๐Ÿผโ€โ™€๏ธ|๐Ÿ‹๐Ÿฝโ€โ™€๏ธ|๐Ÿ‹๐Ÿพโ€โ™€๏ธ|๐Ÿ‹๐Ÿฟโ€โ™€๏ธ|๐Ÿšด๐Ÿปโ€โ™‚๏ธ|๐Ÿšด๐Ÿผโ€โ™‚๏ธ|๐Ÿšด๐Ÿฝโ€โ™‚๏ธ|๐Ÿšด๐Ÿพโ€โ™‚๏ธ|๐Ÿšด๐Ÿฟโ€โ™‚๏ธ|๐Ÿšด๐Ÿปโ€โ™€๏ธ|๐Ÿšด๐Ÿผโ€โ™€๏ธ|๐Ÿšด๐Ÿฝโ€โ™€๏ธ|๐Ÿšด๐Ÿพโ€โ™€๏ธ|๐Ÿšด๐Ÿฟโ€โ™€๏ธ|๐Ÿšต๐Ÿปโ€โ™‚๏ธ|๐Ÿšต๐Ÿผโ€โ™‚๏ธ|๐Ÿšต๐Ÿฝโ€โ™‚๏ธ|๐Ÿšต๐Ÿพโ€โ™‚๏ธ|๐Ÿšต๐Ÿฟโ€โ™‚๏ธ|๐Ÿšต๐Ÿปโ€โ™€๏ธ|๐Ÿšต๐Ÿผโ€โ™€๏ธ|๐Ÿšต๐Ÿฝโ€โ™€๏ธ|๐Ÿšต๐Ÿพโ€โ™€๏ธ|๐Ÿšต๐Ÿฟโ€โ™€๏ธ|๐Ÿคธ๐Ÿปโ€โ™‚๏ธ|๐Ÿคธ๐Ÿผโ€โ™‚๏ธ|๐Ÿคธ๐Ÿฝโ€โ™‚๏ธ|๐Ÿคธ๐Ÿพโ€โ™‚๏ธ|๐Ÿคธ๐Ÿฟโ€โ™‚๏ธ|๐Ÿคธ๐Ÿปโ€โ™€๏ธ|๐Ÿคธ๐Ÿผโ€โ™€๏ธ|๐Ÿคธ๐Ÿฝโ€โ™€๏ธ|๐Ÿคธ๐Ÿพโ€โ™€๏ธ|๐Ÿคธ๐Ÿฟโ€โ™€๏ธ|๐Ÿคฝ๐Ÿปโ€โ™‚๏ธ|๐Ÿคฝ๐Ÿผโ€โ™‚๏ธ|๐Ÿคฝ๐Ÿฝโ€โ™‚๏ธ|๐Ÿคฝ๐Ÿพโ€โ™‚๏ธ|๐Ÿคฝ๐Ÿฟโ€โ™‚๏ธ|๐Ÿคฝ๐Ÿปโ€โ™€๏ธ|๐Ÿคฝ๐Ÿผโ€โ™€๏ธ|๐Ÿคฝ๐Ÿฝโ€โ™€๏ธ|๐Ÿคฝ๐Ÿพโ€โ™€๏ธ|๐Ÿคฝ๐Ÿฟโ€โ™€๏ธ|๐Ÿคพ๐Ÿปโ€โ™‚๏ธ|๐Ÿคพ๐Ÿผโ€โ™‚๏ธ|๐Ÿคพ๐Ÿฝโ€โ™‚๏ธ|๐Ÿคพ๐Ÿพโ€โ™‚๏ธ|๐Ÿคพ๐Ÿฟโ€โ™‚๏ธ|๐Ÿคพ๐Ÿปโ€โ™€๏ธ|๐Ÿคพ๐Ÿผโ€โ™€๏ธ|๐Ÿคพ๐Ÿฝโ€โ™€๏ธ|๐Ÿคพ๐Ÿพโ€โ™€๏ธ|๐Ÿคพ๐Ÿฟโ€โ™€๏ธ|๐Ÿคน๐Ÿปโ€โ™‚๏ธ|๐Ÿคน๐Ÿผโ€โ™‚๏ธ|๐Ÿคน๐Ÿฝโ€โ™‚๏ธ|๐Ÿคน๐Ÿพโ€โ™‚๏ธ|๐Ÿคน๐Ÿฟโ€โ™‚๏ธ|๐Ÿคน๐Ÿปโ€โ™€๏ธ|๐Ÿคน๐Ÿผโ€โ™€๏ธ|๐Ÿคน๐Ÿฝโ€โ™€๏ธ|๐Ÿคน๐Ÿพโ€โ™€๏ธ|๐Ÿคน๐Ÿฟโ€โ™€๏ธ|๐Ÿง˜๐Ÿปโ€โ™‚๏ธ|๐Ÿง˜๐Ÿผโ€โ™‚๏ธ|๐Ÿง˜๐Ÿฝโ€โ™‚๏ธ|๐Ÿง˜๐Ÿพโ€โ™‚๏ธ|๐Ÿง˜๐Ÿฟโ€โ™‚๏ธ|๐Ÿง˜๐Ÿปโ€โ™€๏ธ|๐Ÿง˜๐Ÿผโ€โ™€๏ธ|๐Ÿง˜๐Ÿฝโ€โ™€๏ธ|๐Ÿง˜๐Ÿพโ€โ™€๏ธ|๐Ÿง˜๐Ÿฟโ€โ™€๏ธ|๐Ÿ˜ถโ€๐ŸŒซ๏ธ|๐Ÿ•ต๏ธโ€โ™‚๏ธ|๐Ÿ•ต๏ธโ€โ™€๏ธ|๐ŸŒ๏ธโ€โ™‚๏ธ|๐ŸŒ๏ธโ€โ™€๏ธ|๐Ÿ‹๏ธโ€โ™‚๏ธ|๐Ÿ‹๏ธโ€โ™€๏ธ|๐Ÿณ๏ธโ€๐ŸŒˆ|๐Ÿณ๏ธโ€โšง๏ธ|โ›น๐Ÿปโ€โ™‚๏ธ|โ›น๐Ÿผโ€โ™‚๏ธ|โ›น๐Ÿฝโ€โ™‚๏ธ|โ›น๐Ÿพโ€โ™‚๏ธ|โ›น๐Ÿฟโ€โ™‚๏ธ|โ›น๐Ÿปโ€โ™€๏ธ|โ›น๐Ÿผโ€โ™€๏ธ|โ›น๐Ÿฝโ€โ™€๏ธ|โ›น๐Ÿพโ€โ™€๏ธ|โ›น๐Ÿฟโ€โ™€๏ธ|๐Ÿ˜ฎโ€๐Ÿ’จ|๐Ÿ˜ตโ€๐Ÿ’ซ|โค๏ธโ€๐Ÿ”ฅ|โค๏ธโ€๐Ÿฉน|๐Ÿง”โ€โ™‚๏ธ|๐Ÿง”โ€โ™€๏ธ|๐Ÿ‘จโ€๐Ÿฆฐ|๐Ÿ‘จโ€๐Ÿฆฑ|๐Ÿ‘จโ€๐Ÿฆณ|๐Ÿ‘จโ€๐Ÿฆฒ|๐Ÿ‘ฉโ€๐Ÿฆฐ|๐Ÿง‘โ€๐Ÿฆฐ|๐Ÿ‘ฉโ€๐Ÿฆฑ|๐Ÿง‘โ€๐Ÿฆฑ|๐Ÿ‘ฉโ€๐Ÿฆณ|๐Ÿง‘โ€๐Ÿฆณ|๐Ÿ‘ฉโ€๐Ÿฆฒ|๐Ÿง‘โ€๐Ÿฆฒ|๐Ÿ‘ฑโ€โ™€๏ธ|๐Ÿ‘ฑโ€โ™‚๏ธ|๐Ÿ™โ€โ™‚๏ธ|๐Ÿ™โ€โ™€๏ธ|๐Ÿ™Žโ€โ™‚๏ธ|๐Ÿ™Žโ€โ™€๏ธ|๐Ÿ™…โ€โ™‚๏ธ|๐Ÿ™…โ€โ™€๏ธ|๐Ÿ™†โ€โ™‚๏ธ|๐Ÿ™†โ€โ™€๏ธ|๐Ÿ’โ€โ™‚๏ธ|๐Ÿ’โ€โ™€๏ธ|๐Ÿ™‹โ€โ™‚๏ธ|๐Ÿ™‹โ€โ™€๏ธ|๐Ÿงโ€โ™‚๏ธ|๐Ÿงโ€โ™€๏ธ|๐Ÿ™‡โ€โ™‚๏ธ|๐Ÿ™‡โ€โ™€๏ธ|๐Ÿคฆโ€โ™‚๏ธ|๐Ÿคฆโ€โ™€๏ธ|๐Ÿคทโ€โ™‚๏ธ|๐Ÿคทโ€โ™€๏ธ|๐Ÿง‘โ€โš•๏ธ|๐Ÿ‘จโ€โš•๏ธ|๐Ÿ‘ฉโ€โš•๏ธ|๐Ÿง‘โ€๐ŸŽ“|๐Ÿ‘จโ€๐ŸŽ“|๐Ÿ‘ฉโ€๐ŸŽ“|๐Ÿง‘โ€๐Ÿซ|๐Ÿ‘จโ€๐Ÿซ|๐Ÿ‘ฉโ€๐Ÿซ|๐Ÿง‘โ€โš–๏ธ|๐Ÿ‘จโ€โš–๏ธ|๐Ÿ‘ฉโ€โš–๏ธ|๐Ÿง‘โ€๐ŸŒพ|๐Ÿ‘จโ€๐ŸŒพ|๐Ÿ‘ฉโ€๐ŸŒพ|๐Ÿง‘โ€๐Ÿณ|๐Ÿ‘จโ€๐Ÿณ|๐Ÿ‘ฉโ€๐Ÿณ|๐Ÿง‘โ€๐Ÿ”ง|๐Ÿ‘จโ€๐Ÿ”ง|๐Ÿ‘ฉโ€๐Ÿ”ง|๐Ÿง‘โ€๐Ÿญ|๐Ÿ‘จโ€๐Ÿญ|๐Ÿ‘ฉโ€๐Ÿญ|๐Ÿง‘โ€๐Ÿ’ผ|๐Ÿ‘จโ€๐Ÿ’ผ|๐Ÿ‘ฉโ€๐Ÿ’ผ|๐Ÿง‘โ€๐Ÿ”ฌ|๐Ÿ‘จโ€๐Ÿ”ฌ|๐Ÿ‘ฉโ€๐Ÿ”ฌ|๐Ÿง‘โ€๐Ÿ’ป|๐Ÿ‘จโ€๐Ÿ’ป|๐Ÿ‘ฉโ€๐Ÿ’ป|๐Ÿง‘โ€๐ŸŽค|๐Ÿ‘จโ€๐ŸŽค|๐Ÿ‘ฉโ€๐ŸŽค|๐Ÿง‘โ€๐ŸŽจ|๐Ÿ‘จโ€๐ŸŽจ|๐Ÿ‘ฉโ€๐ŸŽจ|๐Ÿง‘โ€โœˆ๏ธ|๐Ÿ‘จโ€โœˆ๏ธ|๐Ÿ‘ฉโ€โœˆ๏ธ|๐Ÿง‘โ€๐Ÿš€|๐Ÿ‘จโ€๐Ÿš€|๐Ÿ‘ฉโ€๐Ÿš€|๐Ÿง‘โ€๐Ÿš’|๐Ÿ‘จโ€๐Ÿš’|๐Ÿ‘ฉโ€๐Ÿš’|๐Ÿ‘ฎโ€โ™‚๏ธ|๐Ÿ‘ฎโ€โ™€๏ธ|๐Ÿ’‚โ€โ™‚๏ธ|๐Ÿ’‚โ€โ™€๏ธ|๐Ÿ‘ทโ€โ™‚๏ธ|๐Ÿ‘ทโ€โ™€๏ธ|๐Ÿ‘ณโ€โ™‚๏ธ|๐Ÿ‘ณโ€โ™€๏ธ|๐Ÿคตโ€โ™‚๏ธ|๐Ÿคตโ€โ™€๏ธ|๐Ÿ‘ฐโ€โ™‚๏ธ|๐Ÿ‘ฐโ€โ™€๏ธ|๐Ÿ‘ฉโ€๐Ÿผ|๐Ÿ‘จโ€๐Ÿผ|๐Ÿง‘โ€๐Ÿผ|๐Ÿง‘โ€๐ŸŽ„|๐Ÿฆธโ€โ™‚๏ธ|๐Ÿฆธโ€โ™€๏ธ|๐Ÿฆนโ€โ™‚๏ธ|๐Ÿฆนโ€โ™€๏ธ|๐Ÿง™โ€โ™‚๏ธ|๐Ÿง™โ€โ™€๏ธ|๐Ÿงšโ€โ™‚๏ธ|๐Ÿงšโ€โ™€๏ธ|๐Ÿง›โ€โ™‚๏ธ|๐Ÿง›โ€โ™€๏ธ|๐Ÿงœโ€โ™‚๏ธ|๐Ÿงœโ€โ™€๏ธ|๐Ÿงโ€โ™‚๏ธ|๐Ÿงโ€โ™€๏ธ|๐Ÿงžโ€โ™‚๏ธ|๐Ÿงžโ€โ™€๏ธ|๐ŸงŸโ€โ™‚๏ธ|๐ŸงŸโ€โ™€๏ธ|๐Ÿ’†โ€โ™‚๏ธ|๐Ÿ’†โ€โ™€๏ธ|๐Ÿ’‡โ€โ™‚๏ธ|๐Ÿ’‡โ€โ™€๏ธ|๐Ÿšถโ€โ™‚๏ธ|๐Ÿšถโ€โ™€๏ธ|๐Ÿงโ€โ™‚๏ธ|๐Ÿงโ€โ™€๏ธ|๐ŸงŽโ€โ™‚๏ธ|๐ŸงŽโ€โ™€๏ธ|๐Ÿง‘โ€๐Ÿฆฏ|๐Ÿ‘จโ€๐Ÿฆฏ|๐Ÿ‘ฉโ€๐Ÿฆฏ|๐Ÿง‘โ€๐Ÿฆผ|๐Ÿ‘จโ€๐Ÿฆผ|๐Ÿ‘ฉโ€๐Ÿฆผ|๐Ÿง‘โ€๐Ÿฆฝ|๐Ÿ‘จโ€๐Ÿฆฝ|๐Ÿ‘ฉโ€๐Ÿฆฝ|๐Ÿƒโ€โ™‚๏ธ|๐Ÿƒโ€โ™€๏ธ|๐Ÿ‘ฏโ€โ™‚๏ธ|๐Ÿ‘ฏโ€โ™€๏ธ|๐Ÿง–โ€โ™‚๏ธ|๐Ÿง–โ€โ™€๏ธ|๐Ÿง—โ€โ™‚๏ธ|๐Ÿง—โ€โ™€๏ธ|๐Ÿ„โ€โ™‚๏ธ|๐Ÿ„โ€โ™€๏ธ|๐Ÿšฃโ€โ™‚๏ธ|๐Ÿšฃโ€โ™€๏ธ|๐ŸŠโ€โ™‚๏ธ|๐ŸŠโ€โ™€๏ธ|โ›น๏ธโ€โ™‚๏ธ|โ›น๏ธโ€โ™€๏ธ|๐Ÿšดโ€โ™‚๏ธ|๐Ÿšดโ€โ™€๏ธ|๐Ÿšตโ€โ™‚๏ธ|๐Ÿšตโ€โ™€๏ธ|๐Ÿคธโ€โ™‚๏ธ|๐Ÿคธโ€โ™€๏ธ|๐Ÿคผโ€โ™‚๏ธ|๐Ÿคผโ€โ™€๏ธ|๐Ÿคฝโ€โ™‚๏ธ|๐Ÿคฝโ€โ™€๏ธ|๐Ÿคพโ€โ™‚๏ธ|๐Ÿคพโ€โ™€๏ธ|๐Ÿคนโ€โ™‚๏ธ|๐Ÿคนโ€โ™€๏ธ|๐Ÿง˜โ€โ™‚๏ธ|๐Ÿง˜โ€โ™€๏ธ|๐Ÿ‘จโ€๐Ÿ‘ฆ|๐Ÿ‘จโ€๐Ÿ‘ง|๐Ÿ‘ฉโ€๐Ÿ‘ฆ|๐Ÿ‘ฉโ€๐Ÿ‘ง|๐Ÿ•โ€๐Ÿฆบ|๐Ÿปโ€โ„๏ธ|๐Ÿดโ€โ˜ ๏ธ|๐Ÿˆโ€โฌ›|๐Ÿ‡ฆ๐Ÿ‡จ|๐Ÿ‡ฆ๐Ÿ‡ฉ|๐Ÿ‡ฆ๐Ÿ‡ช|๐Ÿ‡ฆ๐Ÿ‡ซ|๐Ÿ‡ฆ๐Ÿ‡ฌ|๐Ÿ‡ฆ๐Ÿ‡ฎ|๐Ÿ‡ฆ๐Ÿ‡ฑ|๐Ÿ‡ฆ๐Ÿ‡ฒ|๐Ÿ‡ฆ๐Ÿ‡ด|๐Ÿ‡ฆ๐Ÿ‡ถ|๐Ÿ‡ฆ๐Ÿ‡ท|๐Ÿ‡ฆ๐Ÿ‡ธ|๐Ÿ‡ฆ๐Ÿ‡น|๐Ÿ‡ฆ๐Ÿ‡บ|๐Ÿ‡ฆ๐Ÿ‡ผ|๐Ÿ‡ฆ๐Ÿ‡ฝ|๐Ÿ‡ฆ๐Ÿ‡ฟ|๐Ÿ‡ง๐Ÿ‡ฆ|๐Ÿ‡ง๐Ÿ‡ง|๐Ÿ‡ง๐Ÿ‡ฉ|๐Ÿ‡ง๐Ÿ‡ช|๐Ÿ‡ง๐Ÿ‡ซ|๐Ÿ‡ง๐Ÿ‡ฌ|๐Ÿ‡ง๐Ÿ‡ญ|๐Ÿ‡ง๐Ÿ‡ฎ|๐Ÿ‡ง๐Ÿ‡ฏ|๐Ÿ‡ง๐Ÿ‡ฑ|๐Ÿ‡ง๐Ÿ‡ฒ|๐Ÿ‡ง๐Ÿ‡ณ|๐Ÿ‡ง๐Ÿ‡ด|๐Ÿ‡ง๐Ÿ‡ถ|๐Ÿ‡ง๐Ÿ‡ท|๐Ÿ‡ง๐Ÿ‡ธ|๐Ÿ‡ง๐Ÿ‡น|๐Ÿ‡ง๐Ÿ‡ป|๐Ÿ‡ง๐Ÿ‡ผ|๐Ÿ‡ง๐Ÿ‡พ|๐Ÿ‡ง๐Ÿ‡ฟ|๐Ÿ‡จ๐Ÿ‡ฆ|๐Ÿ‡จ๐Ÿ‡จ|๐Ÿ‡จ๐Ÿ‡ฉ|๐Ÿ‡จ๐Ÿ‡ซ|๐Ÿ‡จ๐Ÿ‡ฌ|๐Ÿ‡จ๐Ÿ‡ญ|๐Ÿ‡จ๐Ÿ‡ฎ|๐Ÿ‡จ๐Ÿ‡ฐ|๐Ÿ‡จ๐Ÿ‡ฑ|๐Ÿ‡จ๐Ÿ‡ฒ|๐Ÿ‡จ๐Ÿ‡ณ|๐Ÿ‡จ๐Ÿ‡ด|๐Ÿ‡จ๐Ÿ‡ต|๐Ÿ‡จ๐Ÿ‡ท|๐Ÿ‡จ๐Ÿ‡บ|๐Ÿ‡จ๐Ÿ‡ป|๐Ÿ‡จ๐Ÿ‡ผ|๐Ÿ‡จ๐Ÿ‡ฝ|๐Ÿ‡จ๐Ÿ‡พ|๐Ÿ‡จ๐Ÿ‡ฟ|๐Ÿ‡ฉ๐Ÿ‡ช|๐Ÿ‡ฉ๐Ÿ‡ฌ|๐Ÿ‡ฉ๐Ÿ‡ฏ|๐Ÿ‡ฉ๐Ÿ‡ฐ|๐Ÿ‡ฉ๐Ÿ‡ฒ|๐Ÿ‡ฉ๐Ÿ‡ด|๐Ÿ‡ฉ๐Ÿ‡ฟ|๐Ÿ‡ช๐Ÿ‡ฆ|๐Ÿ‡ช๐Ÿ‡จ|๐Ÿ‡ช๐Ÿ‡ช|๐Ÿ‡ช๐Ÿ‡ฌ|๐Ÿ‡ช๐Ÿ‡ญ|๐Ÿ‡ช๐Ÿ‡ท|๐Ÿ‡ช๐Ÿ‡ธ|๐Ÿ‡ช๐Ÿ‡น|๐Ÿ‡ช๐Ÿ‡บ|๐Ÿ‡ซ๐Ÿ‡ฎ|๐Ÿ‡ซ๐Ÿ‡ฏ|๐Ÿ‡ซ๐Ÿ‡ฐ|๐Ÿ‡ซ๐Ÿ‡ฒ|๐Ÿ‡ซ๐Ÿ‡ด|๐Ÿ‡ซ๐Ÿ‡ท|๐Ÿ‡ฌ๐Ÿ‡ฆ|๐Ÿ‡ฌ๐Ÿ‡ง|๐Ÿ‡ฌ๐Ÿ‡ฉ|๐Ÿ‡ฌ๐Ÿ‡ช|๐Ÿ‡ฌ๐Ÿ‡ซ|๐Ÿ‡ฌ๐Ÿ‡ฌ|๐Ÿ‡ฌ๐Ÿ‡ญ|๐Ÿ‡ฌ๐Ÿ‡ฎ|๐Ÿ‡ฌ๐Ÿ‡ฑ|๐Ÿ‡ฌ๐Ÿ‡ฒ|๐Ÿ‡ฌ๐Ÿ‡ณ|๐Ÿ‡ฌ๐Ÿ‡ต|๐Ÿ‡ฌ๐Ÿ‡ถ|๐Ÿ‡ฌ๐Ÿ‡ท|๐Ÿ‡ฌ๐Ÿ‡ธ|๐Ÿ‡ฌ๐Ÿ‡น|๐Ÿ‡ฌ๐Ÿ‡บ|๐Ÿ‡ฌ๐Ÿ‡ผ|๐Ÿ‡ฌ๐Ÿ‡พ|๐Ÿ‡ญ๐Ÿ‡ฐ|๐Ÿ‡ญ๐Ÿ‡ฒ|๐Ÿ‡ญ๐Ÿ‡ณ|๐Ÿ‡ญ๐Ÿ‡ท|๐Ÿ‡ญ๐Ÿ‡น|๐Ÿ‡ญ๐Ÿ‡บ|๐Ÿ‡ฎ๐Ÿ‡จ|๐Ÿ‡ฎ๐Ÿ‡ฉ|๐Ÿ‡ฎ๐Ÿ‡ช|๐Ÿ‡ฎ๐Ÿ‡ฑ|๐Ÿ‡ฎ๐Ÿ‡ฒ|๐Ÿ‡ฎ๐Ÿ‡ณ|๐Ÿ‡ฎ๐Ÿ‡ด|๐Ÿ‡ฎ๐Ÿ‡ถ|๐Ÿ‡ฎ๐Ÿ‡ท|๐Ÿ‡ฎ๐Ÿ‡ธ|๐Ÿ‡ฎ๐Ÿ‡น|๐Ÿ‡ฏ๐Ÿ‡ช|๐Ÿ‡ฏ๐Ÿ‡ฒ|๐Ÿ‡ฏ๐Ÿ‡ด|๐Ÿ‡ฏ๐Ÿ‡ต|๐Ÿ‡ฐ๐Ÿ‡ช|๐Ÿ‡ฐ๐Ÿ‡ฌ|๐Ÿ‡ฐ๐Ÿ‡ญ|๐Ÿ‡ฐ๐Ÿ‡ฎ|๐Ÿ‡ฐ๐Ÿ‡ฒ|๐Ÿ‡ฐ๐Ÿ‡ณ|๐Ÿ‡ฐ๐Ÿ‡ต|๐Ÿ‡ฐ๐Ÿ‡ท|๐Ÿ‡ฐ๐Ÿ‡ผ|๐Ÿ‡ฐ๐Ÿ‡พ|๐Ÿ‡ฐ๐Ÿ‡ฟ|๐Ÿ‡ฑ๐Ÿ‡ฆ|๐Ÿ‡ฑ๐Ÿ‡ง|๐Ÿ‡ฑ๐Ÿ‡จ|๐Ÿ‡ฑ๐Ÿ‡ฎ|๐Ÿ‡ฑ๐Ÿ‡ฐ|๐Ÿ‡ฑ๐Ÿ‡ท|๐Ÿ‡ฑ๐Ÿ‡ธ|๐Ÿ‡ฑ๐Ÿ‡น|๐Ÿ‡ฑ๐Ÿ‡บ|๐Ÿ‡ฑ๐Ÿ‡ป|๐Ÿ‡ฑ๐Ÿ‡พ|๐Ÿ‡ฒ๐Ÿ‡ฆ|๐Ÿ‡ฒ๐Ÿ‡จ|๐Ÿ‡ฒ๐Ÿ‡ฉ|๐Ÿ‡ฒ๐Ÿ‡ช|๐Ÿ‡ฒ๐Ÿ‡ซ|๐Ÿ‡ฒ๐Ÿ‡ฌ|๐Ÿ‡ฒ๐Ÿ‡ญ|๐Ÿ‡ฒ๐Ÿ‡ฐ|๐Ÿ‡ฒ๐Ÿ‡ฑ|๐Ÿ‡ฒ๐Ÿ‡ฒ|๐Ÿ‡ฒ๐Ÿ‡ณ|๐Ÿ‡ฒ๐Ÿ‡ด|๐Ÿ‡ฒ๐Ÿ‡ต|๐Ÿ‡ฒ๐Ÿ‡ถ|๐Ÿ‡ฒ๐Ÿ‡ท|๐Ÿ‡ฒ๐Ÿ‡ธ|๐Ÿ‡ฒ๐Ÿ‡น|๐Ÿ‡ฒ๐Ÿ‡บ|๐Ÿ‡ฒ๐Ÿ‡ป|๐Ÿ‡ฒ๐Ÿ‡ผ|๐Ÿ‡ฒ๐Ÿ‡ฝ|๐Ÿ‡ฒ๐Ÿ‡พ|๐Ÿ‡ฒ๐Ÿ‡ฟ|๐Ÿ‡ณ๐Ÿ‡ฆ|๐Ÿ‡ณ๐Ÿ‡จ|๐Ÿ‡ณ๐Ÿ‡ช|๐Ÿ‡ณ๐Ÿ‡ซ|๐Ÿ‡ณ๐Ÿ‡ฌ|๐Ÿ‡ณ๐Ÿ‡ฎ|๐Ÿ‡ณ๐Ÿ‡ฑ|๐Ÿ‡ณ๐Ÿ‡ด|๐Ÿ‡ณ๐Ÿ‡ต|๐Ÿ‡ณ๐Ÿ‡ท|๐Ÿ‡ณ๐Ÿ‡บ|๐Ÿ‡ณ๐Ÿ‡ฟ|๐Ÿ‡ด๐Ÿ‡ฒ|๐Ÿ‡ต๐Ÿ‡ฆ|๐Ÿ‡ต๐Ÿ‡ช|๐Ÿ‡ต๐Ÿ‡ซ|๐Ÿ‡ต๐Ÿ‡ฌ|๐Ÿ‡ต๐Ÿ‡ญ|๐Ÿ‡ต๐Ÿ‡ฐ|๐Ÿ‡ต๐Ÿ‡ฑ|๐Ÿ‡ต๐Ÿ‡ฒ|๐Ÿ‡ต๐Ÿ‡ณ|๐Ÿ‡ต๐Ÿ‡ท|๐Ÿ‡ต๐Ÿ‡ธ|๐Ÿ‡ต๐Ÿ‡น|๐Ÿ‡ต๐Ÿ‡ผ|๐Ÿ‡ต๐Ÿ‡พ|๐Ÿ‡ถ๐Ÿ‡ฆ|๐Ÿ‡ท๐Ÿ‡ช|๐Ÿ‡ท๐Ÿ‡ด|๐Ÿ‡ท๐Ÿ‡ธ|๐Ÿ‡ท๐Ÿ‡บ|๐Ÿ‡ท๐Ÿ‡ผ|๐Ÿ‡ธ๐Ÿ‡ฆ|๐Ÿ‡ธ๐Ÿ‡ง|๐Ÿ‡ธ๐Ÿ‡จ|๐Ÿ‡ธ๐Ÿ‡ฉ|๐Ÿ‡ธ๐Ÿ‡ช|๐Ÿ‡ธ๐Ÿ‡ฌ|๐Ÿ‡ธ๐Ÿ‡ญ|๐Ÿ‡ธ๐Ÿ‡ฎ|๐Ÿ‡ธ๐Ÿ‡ฏ|๐Ÿ‡ธ๐Ÿ‡ฐ|๐Ÿ‡ธ๐Ÿ‡ฑ|๐Ÿ‡ธ๐Ÿ‡ฒ|๐Ÿ‡ธ๐Ÿ‡ณ|๐Ÿ‡ธ๐Ÿ‡ด|๐Ÿ‡ธ๐Ÿ‡ท|๐Ÿ‡ธ๐Ÿ‡ธ|๐Ÿ‡ธ๐Ÿ‡น|๐Ÿ‡ธ๐Ÿ‡ป|๐Ÿ‡ธ๐Ÿ‡ฝ|๐Ÿ‡ธ๐Ÿ‡พ|๐Ÿ‡ธ๐Ÿ‡ฟ|๐Ÿ‡น๐Ÿ‡ฆ|๐Ÿ‡น๐Ÿ‡จ|๐Ÿ‡น๐Ÿ‡ฉ|๐Ÿ‡น๐Ÿ‡ซ|๐Ÿ‡น๐Ÿ‡ฌ|๐Ÿ‡น๐Ÿ‡ญ|๐Ÿ‡น๐Ÿ‡ฏ|๐Ÿ‡น๐Ÿ‡ฐ|๐Ÿ‡น๐Ÿ‡ฑ|๐Ÿ‡น๐Ÿ‡ฒ|๐Ÿ‡น๐Ÿ‡ณ|๐Ÿ‡น๐Ÿ‡ด|๐Ÿ‡น๐Ÿ‡ท|๐Ÿ‡น๐Ÿ‡น|๐Ÿ‡น๐Ÿ‡ป|๐Ÿ‡น๐Ÿ‡ผ|๐Ÿ‡น๐Ÿ‡ฟ|๐Ÿ‡บ๐Ÿ‡ฆ|๐Ÿ‡บ๐Ÿ‡ฌ|๐Ÿ‡บ๐Ÿ‡ฒ|๐Ÿ‡บ๐Ÿ‡ณ|๐Ÿ‡บ๐Ÿ‡ธ|๐Ÿ‡บ๐Ÿ‡พ|๐Ÿ‡บ๐Ÿ‡ฟ|๐Ÿ‡ป๐Ÿ‡ฆ|๐Ÿ‡ป๐Ÿ‡จ|๐Ÿ‡ป๐Ÿ‡ช|๐Ÿ‡ป๐Ÿ‡ฌ|๐Ÿ‡ป๐Ÿ‡ฎ|๐Ÿ‡ป๐Ÿ‡ณ|๐Ÿ‡ป๐Ÿ‡บ|๐Ÿ‡ผ๐Ÿ‡ซ|๐Ÿ‡ผ๐Ÿ‡ธ|๐Ÿ‡ฝ๐Ÿ‡ฐ|๐Ÿ‡พ๐Ÿ‡ช|๐Ÿ‡พ๐Ÿ‡น|๐Ÿ‡ฟ๐Ÿ‡ฆ|๐Ÿ‡ฟ๐Ÿ‡ฒ|๐Ÿ‡ฟ๐Ÿ‡ผ|๐Ÿ‘‹๐Ÿป|๐Ÿ‘‹๐Ÿผ|๐Ÿ‘‹๐Ÿฝ|๐Ÿ‘‹๐Ÿพ|๐Ÿ‘‹๐Ÿฟ|๐Ÿคš๐Ÿป|๐Ÿคš๐Ÿผ|๐Ÿคš๐Ÿฝ|๐Ÿคš๐Ÿพ|๐Ÿคš๐Ÿฟ|๐Ÿ–๐Ÿป|๐Ÿ–๐Ÿผ|๐Ÿ–๐Ÿฝ|๐Ÿ–๐Ÿพ|๐Ÿ–๐Ÿฟ|๐Ÿ––๐Ÿป|๐Ÿ––๐Ÿผ|๐Ÿ––๐Ÿฝ|๐Ÿ––๐Ÿพ|๐Ÿ––๐Ÿฟ|๐Ÿ‘Œ๐Ÿป|๐Ÿ‘Œ๐Ÿผ|๐Ÿ‘Œ๐Ÿฝ|๐Ÿ‘Œ๐Ÿพ|๐Ÿ‘Œ๐Ÿฟ|๐ŸคŒ๐Ÿป|๐ŸคŒ๐Ÿผ|๐ŸคŒ๐Ÿฝ|๐ŸคŒ๐Ÿพ|๐ŸคŒ๐Ÿฟ|๐Ÿค๐Ÿป|๐Ÿค๐Ÿผ|๐Ÿค๐Ÿฝ|๐Ÿค๐Ÿพ|๐Ÿค๐Ÿฟ|๐Ÿคž๐Ÿป|๐Ÿคž๐Ÿผ|๐Ÿคž๐Ÿฝ|๐Ÿคž๐Ÿพ|๐Ÿคž๐Ÿฟ|๐ŸคŸ๐Ÿป|๐ŸคŸ๐Ÿผ|๐ŸคŸ๐Ÿฝ|๐ŸคŸ๐Ÿพ|๐ŸคŸ๐Ÿฟ|๐Ÿค˜๐Ÿป|๐Ÿค˜๐Ÿผ|๐Ÿค˜๐Ÿฝ|๐Ÿค˜๐Ÿพ|๐Ÿค˜๐Ÿฟ|๐Ÿค™๐Ÿป|๐Ÿค™๐Ÿผ|๐Ÿค™๐Ÿฝ|๐Ÿค™๐Ÿพ|๐Ÿค™๐Ÿฟ|๐Ÿ‘ˆ๐Ÿป|๐Ÿ‘ˆ๐Ÿผ|๐Ÿ‘ˆ๐Ÿฝ|๐Ÿ‘ˆ๐Ÿพ|๐Ÿ‘ˆ๐Ÿฟ|๐Ÿ‘‰๐Ÿป|๐Ÿ‘‰๐Ÿผ|๐Ÿ‘‰๐Ÿฝ|๐Ÿ‘‰๐Ÿพ|๐Ÿ‘‰๐Ÿฟ|๐Ÿ‘†๐Ÿป|๐Ÿ‘†๐Ÿผ|๐Ÿ‘†๐Ÿฝ|๐Ÿ‘†๐Ÿพ|๐Ÿ‘†๐Ÿฟ|๐Ÿ–•๐Ÿป|๐Ÿ–•๐Ÿผ|๐Ÿ–•๐Ÿฝ|๐Ÿ–•๐Ÿพ|๐Ÿ–•๐Ÿฟ|๐Ÿ‘‡๐Ÿป|๐Ÿ‘‡๐Ÿผ|๐Ÿ‘‡๐Ÿฝ|๐Ÿ‘‡๐Ÿพ|๐Ÿ‘‡๐Ÿฟ|๐Ÿ‘๐Ÿป|๐Ÿ‘๐Ÿผ|๐Ÿ‘๐Ÿฝ|๐Ÿ‘๐Ÿพ|๐Ÿ‘๐Ÿฟ|๐Ÿ‘Ž๐Ÿป|๐Ÿ‘Ž๐Ÿผ|๐Ÿ‘Ž๐Ÿฝ|๐Ÿ‘Ž๐Ÿพ|๐Ÿ‘Ž๐Ÿฟ|๐Ÿ‘Š๐Ÿป|๐Ÿ‘Š๐Ÿผ|๐Ÿ‘Š๐Ÿฝ|๐Ÿ‘Š๐Ÿพ|๐Ÿ‘Š๐Ÿฟ|๐Ÿค›๐Ÿป|๐Ÿค›๐Ÿผ|๐Ÿค›๐Ÿฝ|๐Ÿค›๐Ÿพ|๐Ÿค›๐Ÿฟ|๐Ÿคœ๐Ÿป|๐Ÿคœ๐Ÿผ|๐Ÿคœ๐Ÿฝ|๐Ÿคœ๐Ÿพ|๐Ÿคœ๐Ÿฟ|๐Ÿ‘๐Ÿป|๐Ÿ‘๐Ÿผ|๐Ÿ‘๐Ÿฝ|๐Ÿ‘๐Ÿพ|๐Ÿ‘๐Ÿฟ|๐Ÿ™Œ๐Ÿป|๐Ÿ™Œ๐Ÿผ|๐Ÿ™Œ๐Ÿฝ|๐Ÿ™Œ๐Ÿพ|๐Ÿ™Œ๐Ÿฟ|๐Ÿ‘๐Ÿป|๐Ÿ‘๐Ÿผ|๐Ÿ‘๐Ÿฝ|๐Ÿ‘๐Ÿพ|๐Ÿ‘๐Ÿฟ|๐Ÿคฒ๐Ÿป|๐Ÿคฒ๐Ÿผ|๐Ÿคฒ๐Ÿฝ|๐Ÿคฒ๐Ÿพ|๐Ÿคฒ๐Ÿฟ|๐Ÿ™๐Ÿป|๐Ÿ™๐Ÿผ|๐Ÿ™๐Ÿฝ|๐Ÿ™๐Ÿพ|๐Ÿ™๐Ÿฟ|๐Ÿ’…๐Ÿป|๐Ÿ’…๐Ÿผ|๐Ÿ’…๐Ÿฝ|๐Ÿ’…๐Ÿพ|๐Ÿ’…๐Ÿฟ|๐Ÿคณ๐Ÿป|๐Ÿคณ๐Ÿผ|๐Ÿคณ๐Ÿฝ|๐Ÿคณ๐Ÿพ|๐Ÿคณ๐Ÿฟ|๐Ÿ’ช๐Ÿป|๐Ÿ’ช๐Ÿผ|๐Ÿ’ช๐Ÿฝ|๐Ÿ’ช๐Ÿพ|๐Ÿ’ช๐Ÿฟ|๐Ÿฆต๐Ÿป|๐Ÿฆต๐Ÿผ|๐Ÿฆต๐Ÿฝ|๐Ÿฆต๐Ÿพ|๐Ÿฆต๐Ÿฟ|๐Ÿฆถ๐Ÿป|๐Ÿฆถ๐Ÿผ|๐Ÿฆถ๐Ÿฝ|๐Ÿฆถ๐Ÿพ|๐Ÿฆถ๐Ÿฟ|๐Ÿ‘‚๐Ÿป|๐Ÿ‘‚๐Ÿผ|๐Ÿ‘‚๐Ÿฝ|๐Ÿ‘‚๐Ÿพ|๐Ÿ‘‚๐Ÿฟ|๐Ÿฆป๐Ÿป|๐Ÿฆป๐Ÿผ|๐Ÿฆป๐Ÿฝ|๐Ÿฆป๐Ÿพ|๐Ÿฆป๐Ÿฟ|๐Ÿ‘ƒ๐Ÿป|๐Ÿ‘ƒ๐Ÿผ|๐Ÿ‘ƒ๐Ÿฝ|๐Ÿ‘ƒ๐Ÿพ|๐Ÿ‘ƒ๐Ÿฟ|๐Ÿ‘ถ๐Ÿป|๐Ÿ‘ถ๐Ÿผ|๐Ÿ‘ถ๐Ÿฝ|๐Ÿ‘ถ๐Ÿพ|๐Ÿ‘ถ๐Ÿฟ|๐Ÿง’๐Ÿป|๐Ÿง’๐Ÿผ|๐Ÿง’๐Ÿฝ|๐Ÿง’๐Ÿพ|๐Ÿง’๐Ÿฟ|๐Ÿ‘ฆ๐Ÿป|๐Ÿ‘ฆ๐Ÿผ|๐Ÿ‘ฆ๐Ÿฝ|๐Ÿ‘ฆ๐Ÿพ|๐Ÿ‘ฆ๐Ÿฟ|๐Ÿ‘ง๐Ÿป|๐Ÿ‘ง๐Ÿผ|๐Ÿ‘ง๐Ÿฝ|๐Ÿ‘ง๐Ÿพ|๐Ÿ‘ง๐Ÿฟ|๐Ÿง‘๐Ÿป|๐Ÿง‘๐Ÿผ|๐Ÿง‘๐Ÿฝ|๐Ÿง‘๐Ÿพ|๐Ÿง‘๐Ÿฟ|๐Ÿ‘ฑ๐Ÿป|๐Ÿ‘ฑ๐Ÿผ|๐Ÿ‘ฑ๐Ÿฝ|๐Ÿ‘ฑ๐Ÿพ|๐Ÿ‘ฑ๐Ÿฟ|๐Ÿ‘จ๐Ÿป|๐Ÿ‘จ๐Ÿผ|๐Ÿ‘จ๐Ÿฝ|๐Ÿ‘จ๐Ÿพ|๐Ÿ‘จ๐Ÿฟ|๐Ÿง”๐Ÿป|๐Ÿง”๐Ÿผ|๐Ÿง”๐Ÿฝ|๐Ÿง”๐Ÿพ|๐Ÿง”๐Ÿฟ|๐Ÿ‘ฉ๐Ÿป|๐Ÿ‘ฉ๐Ÿผ|๐Ÿ‘ฉ๐Ÿฝ|๐Ÿ‘ฉ๐Ÿพ|๐Ÿ‘ฉ๐Ÿฟ|๐Ÿง“๐Ÿป|๐Ÿง“๐Ÿผ|๐Ÿง“๐Ÿฝ|๐Ÿง“๐Ÿพ|๐Ÿง“๐Ÿฟ|๐Ÿ‘ด๐Ÿป|๐Ÿ‘ด๐Ÿผ|๐Ÿ‘ด๐Ÿฝ|๐Ÿ‘ด๐Ÿพ|๐Ÿ‘ด๐Ÿฟ|๐Ÿ‘ต๐Ÿป|๐Ÿ‘ต๐Ÿผ|๐Ÿ‘ต๐Ÿฝ|๐Ÿ‘ต๐Ÿพ|๐Ÿ‘ต๐Ÿฟ|๐Ÿ™๐Ÿป|๐Ÿ™๐Ÿผ|๐Ÿ™๐Ÿฝ|๐Ÿ™๐Ÿพ|๐Ÿ™๐Ÿฟ|๐Ÿ™Ž๐Ÿป|๐Ÿ™Ž๐Ÿผ|๐Ÿ™Ž๐Ÿฝ|๐Ÿ™Ž๐Ÿพ|๐Ÿ™Ž๐Ÿฟ|๐Ÿ™…๐Ÿป|๐Ÿ™…๐Ÿผ|๐Ÿ™…๐Ÿฝ|๐Ÿ™…๐Ÿพ|๐Ÿ™…๐Ÿฟ|๐Ÿ™†๐Ÿป|๐Ÿ™†๐Ÿผ|๐Ÿ™†๐Ÿฝ|๐Ÿ™†๐Ÿพ|๐Ÿ™†๐Ÿฟ|๐Ÿ’๐Ÿป|๐Ÿ’๐Ÿผ|๐Ÿ’๐Ÿฝ|๐Ÿ’๐Ÿพ|๐Ÿ’๐Ÿฟ|๐Ÿ™‹๐Ÿป|๐Ÿ™‹๐Ÿผ|๐Ÿ™‹๐Ÿฝ|๐Ÿ™‹๐Ÿพ|๐Ÿ™‹๐Ÿฟ|๐Ÿง๐Ÿป|๐Ÿง๐Ÿผ|๐Ÿง๐Ÿฝ|๐Ÿง๐Ÿพ|๐Ÿง๐Ÿฟ|๐Ÿ™‡๐Ÿป|๐Ÿ™‡๐Ÿผ|๐Ÿ™‡๐Ÿฝ|๐Ÿ™‡๐Ÿพ|๐Ÿ™‡๐Ÿฟ|๐Ÿคฆ๐Ÿป|๐Ÿคฆ๐Ÿผ|๐Ÿคฆ๐Ÿฝ|๐Ÿคฆ๐Ÿพ|๐Ÿคฆ๐Ÿฟ|๐Ÿคท๐Ÿป|๐Ÿคท๐Ÿผ|๐Ÿคท๐Ÿฝ|๐Ÿคท๐Ÿพ|๐Ÿคท๐Ÿฟ|๐Ÿ‘ฎ๐Ÿป|๐Ÿ‘ฎ๐Ÿผ|๐Ÿ‘ฎ๐Ÿฝ|๐Ÿ‘ฎ๐Ÿพ|๐Ÿ‘ฎ๐Ÿฟ|๐Ÿ•ต๐Ÿป|๐Ÿ•ต๐Ÿผ|๐Ÿ•ต๐Ÿฝ|๐Ÿ•ต๐Ÿพ|๐Ÿ•ต๐Ÿฟ|๐Ÿ’‚๐Ÿป|๐Ÿ’‚๐Ÿผ|๐Ÿ’‚๐Ÿฝ|๐Ÿ’‚๐Ÿพ|๐Ÿ’‚๐Ÿฟ|๐Ÿฅท๐Ÿป|๐Ÿฅท๐Ÿผ|๐Ÿฅท๐Ÿฝ|๐Ÿฅท๐Ÿพ|๐Ÿฅท๐Ÿฟ|๐Ÿ‘ท๐Ÿป|๐Ÿ‘ท๐Ÿผ|๐Ÿ‘ท๐Ÿฝ|๐Ÿ‘ท๐Ÿพ|๐Ÿ‘ท๐Ÿฟ|๐Ÿคด๐Ÿป|๐Ÿคด๐Ÿผ|๐Ÿคด๐Ÿฝ|๐Ÿคด๐Ÿพ|๐Ÿคด๐Ÿฟ|๐Ÿ‘ธ๐Ÿป|๐Ÿ‘ธ๐Ÿผ|๐Ÿ‘ธ๐Ÿฝ|๐Ÿ‘ธ๐Ÿพ|๐Ÿ‘ธ๐Ÿฟ|๐Ÿ‘ณ๐Ÿป|๐Ÿ‘ณ๐Ÿผ|๐Ÿ‘ณ๐Ÿฝ|๐Ÿ‘ณ๐Ÿพ|๐Ÿ‘ณ๐Ÿฟ|๐Ÿ‘ฒ๐Ÿป|๐Ÿ‘ฒ๐Ÿผ|๐Ÿ‘ฒ๐Ÿฝ|๐Ÿ‘ฒ๐Ÿพ|๐Ÿ‘ฒ๐Ÿฟ|๐Ÿง•๐Ÿป|๐Ÿง•๐Ÿผ|๐Ÿง•๐Ÿฝ|๐Ÿง•๐Ÿพ|๐Ÿง•๐Ÿฟ|๐Ÿคต๐Ÿป|๐Ÿคต๐Ÿผ|๐Ÿคต๐Ÿฝ|๐Ÿคต๐Ÿพ|๐Ÿคต๐Ÿฟ|๐Ÿ‘ฐ๐Ÿป|๐Ÿ‘ฐ๐Ÿผ|๐Ÿ‘ฐ๐Ÿฝ|๐Ÿ‘ฐ๐Ÿพ|๐Ÿ‘ฐ๐Ÿฟ|๐Ÿคฐ๐Ÿป|๐Ÿคฐ๐Ÿผ|๐Ÿคฐ๐Ÿฝ|๐Ÿคฐ๐Ÿพ|๐Ÿคฐ๐Ÿฟ|๐Ÿคฑ๐Ÿป|๐Ÿคฑ๐Ÿผ|๐Ÿคฑ๐Ÿฝ|๐Ÿคฑ๐Ÿพ|๐Ÿคฑ๐Ÿฟ|๐Ÿ‘ผ๐Ÿป|๐Ÿ‘ผ๐Ÿผ|๐Ÿ‘ผ๐Ÿฝ|๐Ÿ‘ผ๐Ÿพ|๐Ÿ‘ผ๐Ÿฟ|๐ŸŽ…๐Ÿป|๐ŸŽ…๐Ÿผ|๐ŸŽ…๐Ÿฝ|๐ŸŽ…๐Ÿพ|๐ŸŽ…๐Ÿฟ|๐Ÿคถ๐Ÿป|๐Ÿคถ๐Ÿผ|๐Ÿคถ๐Ÿฝ|๐Ÿคถ๐Ÿพ|๐Ÿคถ๐Ÿฟ|๐Ÿฆธ๐Ÿป|๐Ÿฆธ๐Ÿผ|๐Ÿฆธ๐Ÿฝ|๐Ÿฆธ๐Ÿพ|๐Ÿฆธ๐Ÿฟ|๐Ÿฆน๐Ÿป|๐Ÿฆน๐Ÿผ|๐Ÿฆน๐Ÿฝ|๐Ÿฆน๐Ÿพ|๐Ÿฆน๐Ÿฟ|๐Ÿง™๐Ÿป|๐Ÿง™๐Ÿผ|๐Ÿง™๐Ÿฝ|๐Ÿง™๐Ÿพ|๐Ÿง™๐Ÿฟ|๐Ÿงš๐Ÿป|๐Ÿงš๐Ÿผ|๐Ÿงš๐Ÿฝ|๐Ÿงš๐Ÿพ|๐Ÿงš๐Ÿฟ|๐Ÿง›๐Ÿป|๐Ÿง›๐Ÿผ|๐Ÿง›๐Ÿฝ|๐Ÿง›๐Ÿพ|๐Ÿง›๐Ÿฟ|๐Ÿงœ๐Ÿป|๐Ÿงœ๐Ÿผ|๐Ÿงœ๐Ÿฝ|๐Ÿงœ๐Ÿพ|๐Ÿงœ๐Ÿฟ|๐Ÿง๐Ÿป|๐Ÿง๐Ÿผ|๐Ÿง๐Ÿฝ|๐Ÿง๐Ÿพ|๐Ÿง๐Ÿฟ|๐Ÿ’†๐Ÿป|๐Ÿ’†๐Ÿผ|๐Ÿ’†๐Ÿฝ|๐Ÿ’†๐Ÿพ|๐Ÿ’†๐Ÿฟ|๐Ÿ’‡๐Ÿป|๐Ÿ’‡๐Ÿผ|๐Ÿ’‡๐Ÿฝ|๐Ÿ’‡๐Ÿพ|๐Ÿ’‡๐Ÿฟ|๐Ÿšถ๐Ÿป|๐Ÿšถ๐Ÿผ|๐Ÿšถ๐Ÿฝ|๐Ÿšถ๐Ÿพ|๐Ÿšถ๐Ÿฟ|๐Ÿง๐Ÿป|๐Ÿง๐Ÿผ|๐Ÿง๐Ÿฝ|๐Ÿง๐Ÿพ|๐Ÿง๐Ÿฟ|๐ŸงŽ๐Ÿป|๐ŸงŽ๐Ÿผ|๐ŸงŽ๐Ÿฝ|๐ŸงŽ๐Ÿพ|๐ŸงŽ๐Ÿฟ|๐Ÿƒ๐Ÿป|๐Ÿƒ๐Ÿผ|๐Ÿƒ๐Ÿฝ|๐Ÿƒ๐Ÿพ|๐Ÿƒ๐Ÿฟ|๐Ÿ’ƒ๐Ÿป|๐Ÿ’ƒ๐Ÿผ|๐Ÿ’ƒ๐Ÿฝ|๐Ÿ’ƒ๐Ÿพ|๐Ÿ’ƒ๐Ÿฟ|๐Ÿ•บ๐Ÿป|๐Ÿ•บ๐Ÿผ|๐Ÿ•บ๐Ÿฝ|๐Ÿ•บ๐Ÿพ|๐Ÿ•บ๐Ÿฟ|๐Ÿ•ด๐Ÿป|๐Ÿ•ด๐Ÿผ|๐Ÿ•ด๐Ÿฝ|๐Ÿ•ด๐Ÿพ|๐Ÿ•ด๐Ÿฟ|๐Ÿง–๐Ÿป|๐Ÿง–๐Ÿผ|๐Ÿง–๐Ÿฝ|๐Ÿง–๐Ÿพ|๐Ÿง–๐Ÿฟ|๐Ÿง—๐Ÿป|๐Ÿง—๐Ÿผ|๐Ÿง—๐Ÿฝ|๐Ÿง—๐Ÿพ|๐Ÿง—๐Ÿฟ|๐Ÿ‡๐Ÿป|๐Ÿ‡๐Ÿผ|๐Ÿ‡๐Ÿฝ|๐Ÿ‡๐Ÿพ|๐Ÿ‡๐Ÿฟ|๐Ÿ‚๐Ÿป|๐Ÿ‚๐Ÿผ|๐Ÿ‚๐Ÿฝ|๐Ÿ‚๐Ÿพ|๐Ÿ‚๐Ÿฟ|๐ŸŒ๐Ÿป|๐ŸŒ๐Ÿผ|๐ŸŒ๐Ÿฝ|๐ŸŒ๐Ÿพ|๐ŸŒ๐Ÿฟ|๐Ÿ„๐Ÿป|๐Ÿ„๐Ÿผ|๐Ÿ„๐Ÿฝ|๐Ÿ„๐Ÿพ|๐Ÿ„๐Ÿฟ|๐Ÿšฃ๐Ÿป|๐Ÿšฃ๐Ÿผ|๐Ÿšฃ๐Ÿฝ|๐Ÿšฃ๐Ÿพ|๐Ÿšฃ๐Ÿฟ|๐ŸŠ๐Ÿป|๐ŸŠ๐Ÿผ|๐ŸŠ๐Ÿฝ|๐ŸŠ๐Ÿพ|๐ŸŠ๐Ÿฟ|๐Ÿ‹๐Ÿป|๐Ÿ‹๐Ÿผ|๐Ÿ‹๐Ÿฝ|๐Ÿ‹๐Ÿพ|๐Ÿ‹๐Ÿฟ|๐Ÿšด๐Ÿป|๐Ÿšด๐Ÿผ|๐Ÿšด๐Ÿฝ|๐Ÿšด๐Ÿพ|๐Ÿšด๐Ÿฟ|๐Ÿšต๐Ÿป|๐Ÿšต๐Ÿผ|๐Ÿšต๐Ÿฝ|๐Ÿšต๐Ÿพ|๐Ÿšต๐Ÿฟ|๐Ÿคธ๐Ÿป|๐Ÿคธ๐Ÿผ|๐Ÿคธ๐Ÿฝ|๐Ÿคธ๐Ÿพ|๐Ÿคธ๐Ÿฟ|๐Ÿคฝ๐Ÿป|๐Ÿคฝ๐Ÿผ|๐Ÿคฝ๐Ÿฝ|๐Ÿคฝ๐Ÿพ|๐Ÿคฝ๐Ÿฟ|๐Ÿคพ๐Ÿป|๐Ÿคพ๐Ÿผ|๐Ÿคพ๐Ÿฝ|๐Ÿคพ๐Ÿพ|๐Ÿคพ๐Ÿฟ|๐Ÿคน๐Ÿป|๐Ÿคน๐Ÿผ|๐Ÿคน๐Ÿฝ|๐Ÿคน๐Ÿพ|๐Ÿคน๐Ÿฟ|๐Ÿง˜๐Ÿป|๐Ÿง˜๐Ÿผ|๐Ÿง˜๐Ÿฝ|๐Ÿง˜๐Ÿพ|๐Ÿง˜๐Ÿฟ|๐Ÿ›€๐Ÿป|๐Ÿ›€๐Ÿผ|๐Ÿ›€๐Ÿฝ|๐Ÿ›€๐Ÿพ|๐Ÿ›€๐Ÿฟ|๐Ÿ›Œ๐Ÿป|๐Ÿ›Œ๐Ÿผ|๐Ÿ›Œ๐Ÿฝ|๐Ÿ›Œ๐Ÿพ|๐Ÿ›Œ๐Ÿฟ|๐Ÿ‘ญ๐Ÿป|๐Ÿ‘ญ๐Ÿผ|๐Ÿ‘ญ๐Ÿฝ|๐Ÿ‘ญ๐Ÿพ|๐Ÿ‘ญ๐Ÿฟ|๐Ÿ‘ซ๐Ÿป|๐Ÿ‘ซ๐Ÿผ|๐Ÿ‘ซ๐Ÿฝ|๐Ÿ‘ซ๐Ÿพ|๐Ÿ‘ซ๐Ÿฟ|๐Ÿ‘ฌ๐Ÿป|๐Ÿ‘ฌ๐Ÿผ|๐Ÿ‘ฌ๐Ÿฝ|๐Ÿ‘ฌ๐Ÿพ|๐Ÿ‘ฌ๐Ÿฟ|๐Ÿ’๐Ÿป|๐Ÿ’๐Ÿผ|๐Ÿ’๐Ÿฝ|๐Ÿ’๐Ÿพ|๐Ÿ’๐Ÿฟ|๐Ÿ’‘๐Ÿป|๐Ÿ’‘๐Ÿผ|๐Ÿ’‘๐Ÿฝ|๐Ÿ’‘๐Ÿพ|๐Ÿ’‘๐Ÿฟ|#๏ธโƒฃ|0๏ธโƒฃ|1๏ธโƒฃ|2๏ธโƒฃ|3๏ธโƒฃ|4๏ธโƒฃ|5๏ธโƒฃ|6๏ธโƒฃ|7๏ธโƒฃ|8๏ธโƒฃ|9๏ธโƒฃ|โœ‹๐Ÿป|โœ‹๐Ÿผ|โœ‹๐Ÿฝ|โœ‹๐Ÿพ|โœ‹๐Ÿฟ|โœŒ๐Ÿป|โœŒ๐Ÿผ|โœŒ๐Ÿฝ|โœŒ๐Ÿพ|โœŒ๐Ÿฟ|โ˜๐Ÿป|โ˜๐Ÿผ|โ˜๐Ÿฝ|โ˜๐Ÿพ|โ˜๐Ÿฟ|โœŠ๐Ÿป|โœŠ๐Ÿผ|โœŠ๐Ÿฝ|โœŠ๐Ÿพ|โœŠ๐Ÿฟ|โœ๐Ÿป|โœ๐Ÿผ|โœ๐Ÿฝ|โœ๐Ÿพ|โœ๐Ÿฟ|โ›น๐Ÿป|โ›น๐Ÿผ|โ›น๐Ÿฝ|โ›น๐Ÿพ|โ›น๐Ÿฟ|๐Ÿ˜€|๐Ÿ˜ƒ|๐Ÿ˜„|๐Ÿ˜|๐Ÿ˜†|๐Ÿ˜…|๐Ÿคฃ|๐Ÿ˜‚|๐Ÿ™‚|๐Ÿ™ƒ|๐Ÿ˜‰|๐Ÿ˜Š|๐Ÿ˜‡|๐Ÿฅฐ|๐Ÿ˜|๐Ÿคฉ|๐Ÿ˜˜|๐Ÿ˜—|๐Ÿ˜š|๐Ÿ˜™|๐Ÿฅฒ|๐Ÿ˜‹|๐Ÿ˜›|๐Ÿ˜œ|๐Ÿคช|๐Ÿ˜|๐Ÿค‘|๐Ÿค—|๐Ÿคญ|๐Ÿคซ|๐Ÿค”|๐Ÿค|๐Ÿคจ|๐Ÿ˜|๐Ÿ˜‘|๐Ÿ˜ถ|๐Ÿ˜|๐Ÿ˜’|๐Ÿ™„|๐Ÿ˜ฌ|๐Ÿคฅ|๐Ÿ˜Œ|๐Ÿ˜”|๐Ÿ˜ช|๐Ÿคค|๐Ÿ˜ด|๐Ÿ˜ท|๐Ÿค’|๐Ÿค•|๐Ÿคข|๐Ÿคฎ|๐Ÿคง|๐Ÿฅต|๐Ÿฅถ|๐Ÿฅด|๐Ÿ˜ต|๐Ÿคฏ|๐Ÿค |๐Ÿฅณ|๐Ÿฅธ|๐Ÿ˜Ž|๐Ÿค“|๐Ÿง|๐Ÿ˜•|๐Ÿ˜Ÿ|๐Ÿ™|๐Ÿ˜ฎ|๐Ÿ˜ฏ|๐Ÿ˜ฒ|๐Ÿ˜ณ|๐Ÿฅบ|๐Ÿ˜ฆ|๐Ÿ˜ง|๐Ÿ˜จ|๐Ÿ˜ฐ|๐Ÿ˜ฅ|๐Ÿ˜ข|๐Ÿ˜ญ|๐Ÿ˜ฑ|๐Ÿ˜–|๐Ÿ˜ฃ|๐Ÿ˜ž|๐Ÿ˜“|๐Ÿ˜ฉ|๐Ÿ˜ซ|๐Ÿฅฑ|๐Ÿ˜ค|๐Ÿ˜ก|๐Ÿ˜ |๐Ÿคฌ|๐Ÿ˜ˆ|๐Ÿ‘ฟ|๐Ÿ’€|๐Ÿ’ฉ|๐Ÿคก|๐Ÿ‘น|๐Ÿ‘บ|๐Ÿ‘ป|๐Ÿ‘ฝ|๐Ÿ‘พ|๐Ÿค–|๐Ÿ˜บ|๐Ÿ˜ธ|๐Ÿ˜น|๐Ÿ˜ป|๐Ÿ˜ผ|๐Ÿ˜ฝ|๐Ÿ™€|๐Ÿ˜ฟ|๐Ÿ˜พ|๐Ÿ™ˆ|๐Ÿ™‰|๐Ÿ™Š|๐Ÿ’‹|๐Ÿ’Œ|๐Ÿ’˜|๐Ÿ’|๐Ÿ’–|๐Ÿ’—|๐Ÿ’“|๐Ÿ’ž|๐Ÿ’•|๐Ÿ’Ÿ|๐Ÿ’”|๐Ÿงก|๐Ÿ’›|๐Ÿ’š|๐Ÿ’™|๐Ÿ’œ|๐ŸคŽ|๐Ÿ–ค|๐Ÿค|๐Ÿ’ฏ|๐Ÿ’ข|๐Ÿ’ฅ|๐Ÿ’ซ|๐Ÿ’ฆ|๐Ÿ’จ|๐Ÿ•ณ|๐Ÿ’ฃ|๐Ÿ’ฌ|๐Ÿ—จ|๐Ÿ—ฏ|๐Ÿ’ญ|๐Ÿ’ค|๐Ÿ‘‹|๐Ÿคš|๐Ÿ–|๐Ÿ––|๐Ÿ‘Œ|๐ŸคŒ|๐Ÿค|๐Ÿคž|๐ŸคŸ|๐Ÿค˜|๐Ÿค™|๐Ÿ‘ˆ|๐Ÿ‘‰|๐Ÿ‘†|๐Ÿ–•|๐Ÿ‘‡|๐Ÿ‘|๐Ÿ‘Ž|๐Ÿ‘Š|๐Ÿค›|๐Ÿคœ|๐Ÿ‘|๐Ÿ™Œ|๐Ÿ‘|๐Ÿคฒ|๐Ÿค|๐Ÿ™|๐Ÿ’…|๐Ÿคณ|๐Ÿ’ช|๐Ÿฆพ|๐Ÿฆฟ|๐Ÿฆต|๐Ÿฆถ|๐Ÿ‘‚|๐Ÿฆป|๐Ÿ‘ƒ|๐Ÿง |๐Ÿซ€|๐Ÿซ|๐Ÿฆท|๐Ÿฆด|๐Ÿ‘€|๐Ÿ‘|๐Ÿ‘…|๐Ÿ‘„|๐Ÿ‘ถ|๐Ÿง’|๐Ÿ‘ฆ|๐Ÿ‘ง|๐Ÿง‘|๐Ÿ‘ฑ|๐Ÿ‘จ|๐Ÿง”|๐Ÿ‘ฉ|๐Ÿง“|๐Ÿ‘ด|๐Ÿ‘ต|๐Ÿ™|๐Ÿ™Ž|๐Ÿ™…|๐Ÿ™†|๐Ÿ’|๐Ÿ™‹|๐Ÿง|๐Ÿ™‡|๐Ÿคฆ|๐Ÿคท|๐Ÿ‘ฎ|๐Ÿ•ต|๐Ÿ’‚|๐Ÿฅท|๐Ÿ‘ท|๐Ÿคด|๐Ÿ‘ธ|๐Ÿ‘ณ|๐Ÿ‘ฒ|๐Ÿง•|๐Ÿคต|๐Ÿ‘ฐ|๐Ÿคฐ|๐Ÿคฑ|๐Ÿ‘ผ|๐ŸŽ…|๐Ÿคถ|๐Ÿฆธ|๐Ÿฆน|๐Ÿง™|๐Ÿงš|๐Ÿง›|๐Ÿงœ|๐Ÿง|๐Ÿงž|๐ŸงŸ|๐Ÿ’†|๐Ÿ’‡|๐Ÿšถ|๐Ÿง|๐ŸงŽ|๐Ÿƒ|๐Ÿ’ƒ|๐Ÿ•บ|๐Ÿ•ด|๐Ÿ‘ฏ|๐Ÿง–|๐Ÿง—|๐Ÿคบ|๐Ÿ‡|๐Ÿ‚|๐ŸŒ|๐Ÿ„|๐Ÿšฃ|๐ŸŠ|๐Ÿ‹|๐Ÿšด|๐Ÿšต|๐Ÿคธ|๐Ÿคผ|๐Ÿคฝ|๐Ÿคพ|๐Ÿคน|๐Ÿง˜|๐Ÿ›€|๐Ÿ›Œ|๐Ÿ‘ญ|๐Ÿ‘ซ|๐Ÿ‘ฌ|๐Ÿ’|๐Ÿ’‘|๐Ÿ‘ช|๐Ÿ—ฃ|๐Ÿ‘ค|๐Ÿ‘ฅ|๐Ÿซ‚|๐Ÿ‘ฃ|๐Ÿฆฐ|๐Ÿฆฑ|๐Ÿฆณ|๐Ÿฆฒ|๐Ÿต|๐Ÿ’|๐Ÿฆ|๐Ÿฆง|๐Ÿถ|๐Ÿ•|๐Ÿฆฎ|๐Ÿฉ|๐Ÿบ|๐ŸฆŠ|๐Ÿฆ|๐Ÿฑ|๐Ÿˆ|๐Ÿฆ|๐Ÿฏ|๐Ÿ…|๐Ÿ†|๐Ÿด|๐ŸŽ|๐Ÿฆ„|๐Ÿฆ“|๐ŸฆŒ|๐Ÿฆฌ|๐Ÿฎ|๐Ÿ‚|๐Ÿƒ|๐Ÿ„|๐Ÿท|๐Ÿ–|๐Ÿ—|๐Ÿฝ|๐Ÿ|๐Ÿ‘|๐Ÿ|๐Ÿช|๐Ÿซ|๐Ÿฆ™|๐Ÿฆ’|๐Ÿ˜|๐Ÿฆฃ|๐Ÿฆ|๐Ÿฆ›|๐Ÿญ|๐Ÿ|๐Ÿ€|๐Ÿน|๐Ÿฐ|๐Ÿ‡|๐Ÿฟ|๐Ÿฆซ|๐Ÿฆ”|๐Ÿฆ‡|๐Ÿป|๐Ÿจ|๐Ÿผ|๐Ÿฆฅ|๐Ÿฆฆ|๐Ÿฆจ|๐Ÿฆ˜|๐Ÿฆก|๐Ÿพ|๐Ÿฆƒ|๐Ÿ”|๐Ÿ“|๐Ÿฃ|๐Ÿค|๐Ÿฅ|๐Ÿฆ|๐Ÿง|๐Ÿ•Š|๐Ÿฆ…|๐Ÿฆ†|๐Ÿฆข|๐Ÿฆ‰|๐Ÿฆค|๐Ÿชถ|๐Ÿฆฉ|๐Ÿฆš|๐Ÿฆœ|๐Ÿธ|๐ŸŠ|๐Ÿข|๐ŸฆŽ|๐Ÿ|๐Ÿฒ|๐Ÿ‰|๐Ÿฆ•|๐Ÿฆ–|๐Ÿณ|๐Ÿ‹|๐Ÿฌ|๐Ÿฆญ|๐ŸŸ|๐Ÿ |๐Ÿก|๐Ÿฆˆ|๐Ÿ™|๐Ÿš|๐ŸŒ|๐Ÿฆ‹|๐Ÿ›|๐Ÿœ|๐Ÿ|๐Ÿชฒ|๐Ÿž|๐Ÿฆ—|๐Ÿชณ|๐Ÿ•ท|๐Ÿ•ธ|๐Ÿฆ‚|๐ŸฆŸ|๐Ÿชฐ|๐Ÿชฑ|๐Ÿฆ |๐Ÿ’|๐ŸŒธ|๐Ÿ’ฎ|๐Ÿต|๐ŸŒน|๐Ÿฅ€|๐ŸŒบ|๐ŸŒป|๐ŸŒผ|๐ŸŒท|๐ŸŒฑ|๐Ÿชด|๐ŸŒฒ|๐ŸŒณ|๐ŸŒด|๐ŸŒต|๐ŸŒพ|๐ŸŒฟ|๐Ÿ€|๐Ÿ|๐Ÿ‚|๐Ÿƒ|๐Ÿ‡|๐Ÿˆ|๐Ÿ‰|๐ŸŠ|๐Ÿ‹|๐ŸŒ|๐Ÿ|๐Ÿฅญ|๐ŸŽ|๐Ÿ|๐Ÿ|๐Ÿ‘|๐Ÿ’|๐Ÿ“|๐Ÿซ|๐Ÿฅ|๐Ÿ…|๐Ÿซ’|๐Ÿฅฅ|๐Ÿฅ‘|๐Ÿ†|๐Ÿฅ”|๐Ÿฅ•|๐ŸŒฝ|๐ŸŒถ|๐Ÿซ‘|๐Ÿฅ’|๐Ÿฅฌ|๐Ÿฅฆ|๐Ÿง„|๐Ÿง…|๐Ÿ„|๐Ÿฅœ|๐ŸŒฐ|๐Ÿž|๐Ÿฅ|๐Ÿฅ–|๐Ÿซ“|๐Ÿฅจ|๐Ÿฅฏ|๐Ÿฅž|๐Ÿง‡|๐Ÿง€|๐Ÿ–|๐Ÿ—|๐Ÿฅฉ|๐Ÿฅ“|๐Ÿ”|๐ŸŸ|๐Ÿ•|๐ŸŒญ|๐Ÿฅช|๐ŸŒฎ|๐ŸŒฏ|๐Ÿซ”|๐Ÿฅ™|๐Ÿง†|๐Ÿฅš|๐Ÿณ|๐Ÿฅ˜|๐Ÿฒ|๐Ÿซ•|๐Ÿฅฃ|๐Ÿฅ—|๐Ÿฟ|๐Ÿงˆ|๐Ÿง‚|๐Ÿฅซ|๐Ÿฑ|๐Ÿ˜|๐Ÿ™|๐Ÿš|๐Ÿ›|๐Ÿœ|๐Ÿ|๐Ÿ |๐Ÿข|๐Ÿฃ|๐Ÿค|๐Ÿฅ|๐Ÿฅฎ|๐Ÿก|๐ŸฅŸ|๐Ÿฅ |๐Ÿฅก|๐Ÿฆ€|๐Ÿฆž|๐Ÿฆ|๐Ÿฆ‘|๐Ÿฆช|๐Ÿฆ|๐Ÿง|๐Ÿจ|๐Ÿฉ|๐Ÿช|๐ŸŽ‚|๐Ÿฐ|๐Ÿง|๐Ÿฅง|๐Ÿซ|๐Ÿฌ|๐Ÿญ|๐Ÿฎ|๐Ÿฏ|๐Ÿผ|๐Ÿฅ›|๐Ÿซ–|๐Ÿต|๐Ÿถ|๐Ÿพ|๐Ÿท|๐Ÿธ|๐Ÿน|๐Ÿบ|๐Ÿป|๐Ÿฅ‚|๐Ÿฅƒ|๐Ÿฅค|๐Ÿง‹|๐Ÿงƒ|๐Ÿง‰|๐ŸงŠ|๐Ÿฅข|๐Ÿฝ|๐Ÿด|๐Ÿฅ„|๐Ÿ”ช|๐Ÿบ|๐ŸŒ|๐ŸŒŽ|๐ŸŒ|๐ŸŒ|๐Ÿ—บ|๐Ÿ—พ|๐Ÿงญ|๐Ÿ”|๐ŸŒ‹|๐Ÿ—ป|๐Ÿ•|๐Ÿ–|๐Ÿœ|๐Ÿ|๐Ÿž|๐ŸŸ|๐Ÿ›|๐Ÿ—|๐Ÿงฑ|๐Ÿชจ|๐Ÿชต|๐Ÿ›–|๐Ÿ˜|๐Ÿš|๐Ÿ |๐Ÿก|๐Ÿข|๐Ÿฃ|๐Ÿค|๐Ÿฅ|๐Ÿฆ|๐Ÿจ|๐Ÿฉ|๐Ÿช|๐Ÿซ|๐Ÿฌ|๐Ÿญ|๐Ÿฏ|๐Ÿฐ|๐Ÿ’’|๐Ÿ—ผ|๐Ÿ—ฝ|๐Ÿ•Œ|๐Ÿ›•|๐Ÿ•|๐Ÿ•‹|๐ŸŒ|๐ŸŒƒ|๐Ÿ™|๐ŸŒ„|๐ŸŒ…|๐ŸŒ†|๐ŸŒ‡|๐ŸŒ‰|๐ŸŽ |๐ŸŽก|๐ŸŽข|๐Ÿ’ˆ|๐ŸŽช|๐Ÿš‚|๐Ÿšƒ|๐Ÿš„|๐Ÿš…|๐Ÿš†|๐Ÿš‡|๐Ÿšˆ|๐Ÿš‰|๐ŸšŠ|๐Ÿš|๐Ÿšž|๐Ÿš‹|๐ŸšŒ|๐Ÿš|๐ŸšŽ|๐Ÿš|๐Ÿš‘|๐Ÿš’|๐Ÿš“|๐Ÿš”|๐Ÿš•|๐Ÿš–|๐Ÿš—|๐Ÿš˜|๐Ÿš™|๐Ÿ›ป|๐Ÿšš|๐Ÿš›|๐Ÿšœ|๐ŸŽ|๐Ÿ|๐Ÿ›ต|๐Ÿฆฝ|๐Ÿฆผ|๐Ÿ›บ|๐Ÿšฒ|๐Ÿ›ด|๐Ÿ›น|๐Ÿ›ผ|๐Ÿš|๐Ÿ›ฃ|๐Ÿ›ค|๐Ÿ›ข|๐Ÿšจ|๐Ÿšฅ|๐Ÿšฆ|๐Ÿ›‘|๐Ÿšง|๐Ÿ›ถ|๐Ÿšค|๐Ÿ›ณ|๐Ÿ›ฅ|๐Ÿšข|๐Ÿ›ฉ|๐Ÿ›ซ|๐Ÿ›ฌ|๐Ÿช‚|๐Ÿ’บ|๐Ÿš|๐ŸšŸ|๐Ÿš |๐Ÿšก|๐Ÿ›ฐ|๐Ÿš€|๐Ÿ›ธ|๐Ÿ›Ž|๐Ÿงณ|๐Ÿ•ฐ|๐Ÿ•›|๐Ÿ•ง|๐Ÿ•|๐Ÿ•œ|๐Ÿ•‘|๐Ÿ•|๐Ÿ•’|๐Ÿ•ž|๐Ÿ•“|๐Ÿ•Ÿ|๐Ÿ•”|๐Ÿ• |๐Ÿ••|๐Ÿ•ก|๐Ÿ•–|๐Ÿ•ข|๐Ÿ•—|๐Ÿ•ฃ|๐Ÿ•˜|๐Ÿ•ค|๐Ÿ•™|๐Ÿ•ฅ|๐Ÿ•š|๐Ÿ•ฆ|๐ŸŒ‘|๐ŸŒ’|๐ŸŒ“|๐ŸŒ”|๐ŸŒ•|๐ŸŒ–|๐ŸŒ—|๐ŸŒ˜|๐ŸŒ™|๐ŸŒš|๐ŸŒ›|๐ŸŒœ|๐ŸŒก|๐ŸŒ|๐ŸŒž|๐Ÿช|๐ŸŒŸ|๐ŸŒ |๐ŸŒŒ|๐ŸŒค|๐ŸŒฅ|๐ŸŒฆ|๐ŸŒง|๐ŸŒจ|๐ŸŒฉ|๐ŸŒช|๐ŸŒซ|๐ŸŒฌ|๐ŸŒ€|๐ŸŒˆ|๐ŸŒ‚|๐Ÿ”ฅ|๐Ÿ’ง|๐ŸŒŠ|๐ŸŽƒ|๐ŸŽ„|๐ŸŽ†|๐ŸŽ‡|๐Ÿงจ|๐ŸŽˆ|๐ŸŽ‰|๐ŸŽŠ|๐ŸŽ‹|๐ŸŽ|๐ŸŽŽ|๐ŸŽ|๐ŸŽ|๐ŸŽ‘|๐Ÿงง|๐ŸŽ€|๐ŸŽ|๐ŸŽ—|๐ŸŽŸ|๐ŸŽซ|๐ŸŽ–|๐Ÿ†|๐Ÿ…|๐Ÿฅ‡|๐Ÿฅˆ|๐Ÿฅ‰|๐ŸฅŽ|๐Ÿ€|๐Ÿ|๐Ÿˆ|๐Ÿ‰|๐ŸŽพ|๐Ÿฅ|๐ŸŽณ|๐Ÿ|๐Ÿ‘|๐Ÿ’|๐Ÿฅ|๐Ÿ“|๐Ÿธ|๐ŸฅŠ|๐Ÿฅ‹|๐Ÿฅ…|๐ŸŽฃ|๐Ÿคฟ|๐ŸŽฝ|๐ŸŽฟ|๐Ÿ›ท|๐ŸฅŒ|๐ŸŽฏ|๐Ÿช€|๐Ÿช|๐ŸŽฑ|๐Ÿ”ฎ|๐Ÿช„|๐Ÿงฟ|๐ŸŽฎ|๐Ÿ•น|๐ŸŽฐ|๐ŸŽฒ|๐Ÿงฉ|๐Ÿงธ|๐Ÿช…|๐Ÿช†|๐Ÿƒ|๐Ÿ€„|๐ŸŽด|๐ŸŽญ|๐Ÿ–ผ|๐ŸŽจ|๐Ÿงต|๐Ÿชก|๐Ÿงถ|๐Ÿชข|๐Ÿ‘“|๐Ÿ•ถ|๐Ÿฅฝ|๐Ÿฅผ|๐Ÿฆบ|๐Ÿ‘”|๐Ÿ‘•|๐Ÿ‘–|๐Ÿงฃ|๐Ÿงค|๐Ÿงฅ|๐Ÿงฆ|๐Ÿ‘—|๐Ÿ‘˜|๐Ÿฅป|๐Ÿฉฑ|๐Ÿฉฒ|๐Ÿฉณ|๐Ÿ‘™|๐Ÿ‘š|๐Ÿ‘›|๐Ÿ‘œ|๐Ÿ‘|๐Ÿ›|๐ŸŽ’|๐Ÿฉด|๐Ÿ‘ž|๐Ÿ‘Ÿ|๐Ÿฅพ|๐Ÿฅฟ|๐Ÿ‘ |๐Ÿ‘ก|๐Ÿฉฐ|๐Ÿ‘ข|๐Ÿ‘‘|๐Ÿ‘’|๐ŸŽฉ|๐ŸŽ“|๐Ÿงข|๐Ÿช–|๐Ÿ“ฟ|๐Ÿ’„|๐Ÿ’|๐Ÿ’Ž|๐Ÿ”‡|๐Ÿ”ˆ|๐Ÿ”‰|๐Ÿ”Š|๐Ÿ“ข|๐Ÿ“ฃ|๐Ÿ“ฏ|๐Ÿ””|๐Ÿ”•|๐ŸŽผ|๐ŸŽต|๐ŸŽถ|๐ŸŽ™|๐ŸŽš|๐ŸŽ›|๐ŸŽค|๐ŸŽง|๐Ÿ“ป|๐ŸŽท|๐Ÿช—|๐ŸŽธ|๐ŸŽน|๐ŸŽบ|๐ŸŽป|๐Ÿช•|๐Ÿฅ|๐Ÿช˜|๐Ÿ“ฑ|๐Ÿ“ฒ|๐Ÿ“ž|๐Ÿ“Ÿ|๐Ÿ“ |๐Ÿ”‹|๐Ÿ”Œ|๐Ÿ’ป|๐Ÿ–ฅ|๐Ÿ–จ|๐Ÿ–ฑ|๐Ÿ–ฒ|๐Ÿ’ฝ|๐Ÿ’พ|๐Ÿ’ฟ|๐Ÿ“€|๐Ÿงฎ|๐ŸŽฅ|๐ŸŽž|๐Ÿ“ฝ|๐ŸŽฌ|๐Ÿ“บ|๐Ÿ“ท|๐Ÿ“ธ|๐Ÿ“น|๐Ÿ“ผ|๐Ÿ”|๐Ÿ”Ž|๐Ÿ•ฏ|๐Ÿ’ก|๐Ÿ”ฆ|๐Ÿฎ|๐Ÿช”|๐Ÿ“”|๐Ÿ“•|๐Ÿ“–|๐Ÿ“—|๐Ÿ“˜|๐Ÿ“™|๐Ÿ“š|๐Ÿ““|๐Ÿ“’|๐Ÿ“ƒ|๐Ÿ“œ|๐Ÿ“„|๐Ÿ“ฐ|๐Ÿ—ž|๐Ÿ“‘|๐Ÿ”–|๐Ÿท|๐Ÿ’ฐ|๐Ÿช™|๐Ÿ’ด|๐Ÿ’ต|๐Ÿ’ถ|๐Ÿ’ท|๐Ÿ’ธ|๐Ÿ’ณ|๐Ÿงพ|๐Ÿ’น|๐Ÿ“ง|๐Ÿ“จ|๐Ÿ“ฉ|๐Ÿ“ค|๐Ÿ“ฅ|๐Ÿ“ฆ|๐Ÿ“ซ|๐Ÿ“ช|๐Ÿ“ฌ|๐Ÿ“ญ|๐Ÿ“ฎ|๐Ÿ—ณ|๐Ÿ–‹|๐Ÿ–Š|๐Ÿ–Œ|๐Ÿ–|๐Ÿ“|๐Ÿ’ผ|๐Ÿ“|๐Ÿ“‚|๐Ÿ—‚|๐Ÿ“…|๐Ÿ“†|๐Ÿ—’|๐Ÿ—“|๐Ÿ“‡|๐Ÿ“ˆ|๐Ÿ“‰|๐Ÿ“Š|๐Ÿ“‹|๐Ÿ“Œ|๐Ÿ“|๐Ÿ“Ž|๐Ÿ–‡|๐Ÿ“|๐Ÿ“|๐Ÿ—ƒ|๐Ÿ—„|๐Ÿ—‘|๐Ÿ”’|๐Ÿ”“|๐Ÿ”|๐Ÿ”|๐Ÿ”‘|๐Ÿ—|๐Ÿ”จ|๐Ÿช“|๐Ÿ› |๐Ÿ—ก|๐Ÿ”ซ|๐Ÿชƒ|๐Ÿน|๐Ÿ›ก|๐Ÿชš|๐Ÿ”ง|๐Ÿช›|๐Ÿ”ฉ|๐Ÿ—œ|๐Ÿฆฏ|๐Ÿ”—|๐Ÿช|๐Ÿงฐ|๐Ÿงฒ|๐Ÿชœ|๐Ÿงช|๐Ÿงซ|๐Ÿงฌ|๐Ÿ”ฌ|๐Ÿ”ญ|๐Ÿ“ก|๐Ÿ’‰|๐Ÿฉธ|๐Ÿ’Š|๐Ÿฉน|๐Ÿฉบ|๐Ÿšช|๐Ÿ›—|๐Ÿชž|๐ŸชŸ|๐Ÿ›|๐Ÿ›‹|๐Ÿช‘|๐Ÿšฝ|๐Ÿช |๐Ÿšฟ|๐Ÿ›|๐Ÿชค|๐Ÿช’|๐Ÿงด|๐Ÿงท|๐Ÿงน|๐Ÿงบ|๐Ÿงป|๐Ÿชฃ|๐Ÿงผ|๐Ÿชฅ|๐Ÿงฝ|๐Ÿงฏ|๐Ÿ›’|๐Ÿšฌ|๐Ÿชฆ|๐Ÿ—ฟ|๐Ÿชง|๐Ÿง|๐Ÿšฎ|๐Ÿšฐ|๐Ÿšน|๐Ÿšบ|๐Ÿšป|๐Ÿšผ|๐Ÿšพ|๐Ÿ›‚|๐Ÿ›ƒ|๐Ÿ›„|๐Ÿ›…|๐Ÿšธ|๐Ÿšซ|๐Ÿšณ|๐Ÿšญ|๐Ÿšฏ|๐Ÿšฑ|๐Ÿšท|๐Ÿ“ต|๐Ÿ”ž|๐Ÿ”ƒ|๐Ÿ”„|๐Ÿ”™|๐Ÿ”š|๐Ÿ”›|๐Ÿ”œ|๐Ÿ”|๐Ÿ›|๐Ÿ•‰|๐Ÿ•Ž|๐Ÿ”ฏ|๐Ÿ”€|๐Ÿ”|๐Ÿ”‚|๐Ÿ”ผ|๐Ÿ”ฝ|๐ŸŽฆ|๐Ÿ”…|๐Ÿ”†|๐Ÿ“ถ|๐Ÿ“ณ|๐Ÿ“ด|๐Ÿ’ฑ|๐Ÿ’ฒ|๐Ÿ”ฑ|๐Ÿ“›|๐Ÿ”ฐ|๐Ÿ”Ÿ|๐Ÿ” |๐Ÿ”ก|๐Ÿ”ข|๐Ÿ”ฃ|๐Ÿ”ค|๐Ÿ…ฐ|๐Ÿ†Ž|๐Ÿ…ฑ|๐Ÿ†‘|๐Ÿ†’|๐Ÿ†“|๐Ÿ†”|๐Ÿ†•|๐Ÿ†–|๐Ÿ…พ|๐Ÿ†—|๐Ÿ…ฟ|๐Ÿ†˜|๐Ÿ†™|๐Ÿ†š|๐Ÿˆ|๐Ÿˆ‚|๐Ÿˆท|๐Ÿˆถ|๐Ÿˆฏ|๐Ÿ‰|๐Ÿˆน|๐Ÿˆš|๐Ÿˆฒ|๐Ÿ‰‘|๐Ÿˆธ|๐Ÿˆด|๐Ÿˆณ|๐Ÿˆบ|๐Ÿˆต|๐Ÿ”ด|๐ŸŸ |๐ŸŸก|๐ŸŸข|๐Ÿ”ต|๐ŸŸฃ|๐ŸŸค|๐ŸŸฅ|๐ŸŸง|๐ŸŸจ|๐ŸŸฉ|๐ŸŸฆ|๐ŸŸช|๐ŸŸซ|๐Ÿ”ถ|๐Ÿ”ท|๐Ÿ”ธ|๐Ÿ”น|๐Ÿ”บ|๐Ÿ”ป|๐Ÿ’ |๐Ÿ”˜|๐Ÿ”ณ|๐Ÿ”ฒ|๐Ÿ|๐Ÿšฉ|๐ŸŽŒ|๐Ÿด|๐Ÿณ|๐Ÿป|๐Ÿผ|๐Ÿฝ|๐Ÿพ|๐Ÿฟ|โ˜บ|โ˜น|โ˜ |โฃ|โค|โœ‹|โœŒ|โ˜|โœŠ|โœ|โ›ท|โ›น|โ˜˜|โ˜•|โ›ฐ|โ›ช|โ›ฉ|โ›ฒ|โ›บ|โ™จ|โ›ฝ|โš“|โ›ต|โ›ด|โœˆ|โŒ›|โณ|โŒš|โฐ|โฑ|โฒ|โ˜€|โญ|โ˜|โ›…|โ›ˆ|โ˜‚|โ˜”|โ›ฑ|โšก|โ„|โ˜ƒ|โ›„|โ˜„|โœจ|โšฝ|โšพ|โ›ณ|โ›ธ|โ™ |โ™ฅ|โ™ฆ|โ™ฃ|โ™Ÿ|โ›‘|โ˜Ž|โŒจ|โœ‰|โœ|โœ’|โœ‚|โ›|โš’|โš”|โš™|โš–|โ›“|โš—|โšฐ|โšฑ|โ™ฟ|โš |โ›”|โ˜ข|โ˜ฃ|โฌ†|โ†—|โžก|โ†˜|โฌ‡|โ†™|โฌ…|โ†–|โ†•|โ†”|โ†ฉ|โ†ช|โคด|โคต|โš›|โœก|โ˜ธ|โ˜ฏ|โœ|โ˜ฆ|โ˜ช|โ˜ฎ|โ™ˆ|โ™‰|โ™Š|โ™‹|โ™Œ|โ™|โ™Ž|โ™|โ™|โ™‘|โ™’|โ™“|โ›Ž|โ–ถ|โฉ|โญ|โฏ|โ—€|โช|โฎ|โซ|โฌ|โธ|โน|โบ|โ|โ™€|โ™‚|โšง|โœ–|โž•|โž–|โž—|โ™พ|โ€ผ|โ‰|โ“|โ”|โ•|โ—|ใ€ฐ|โš•|โ™ป|โšœ|โญ•|โœ…|โ˜‘|โœ”|โŒ|โŽ|โžฐ|โžฟ|ใ€ฝ|โœณ|โœด|โ‡|ยฉ|ยฎ|โ„ข|โ„น|โ“‚|ใŠ—|ใŠ™|โšซ|โšช|โฌ›|โฌœ|โ—ผ|โ—ป|โ—พ|โ—ฝ|โ–ช|โ–ซ)`
/*compile the pattern string into a regex*/
let emoRegex = new RegExp(emojiPattern, "g")
/*extracting the emojis*/
let emojis = [..."This ๐Ÿ˜€๐Ÿ‘ฉโ€โš–๏ธis the ๐Ÿง—โ€โ™€๏ธtext๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ.".matchAll(emoRegex)];
console.log(emojis)
/*count of emojis*/
let emoCount = [..."This ๐Ÿ˜€๐Ÿ‘ฉโ€โš–๏ธis the ๐Ÿง—โ€โ™€๏ธtext๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ.".matchAll(emoRegex)].length
console.log(emoCount)
/*strip emojis from text*/
let stripped = "This ๐Ÿ˜€๐Ÿ‘ฉโ€โš–๏ธis the ๐Ÿง—โ€โ™€๏ธtext๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ.".replaceAll(emoRegex, "")
console.log(stripped)
/*use the pattern string to build a custom regex*/
let customRegex = new RegExp(".*"+emojiPattern+"{3}$") //match a string ending in 3 emojis
console.log(customRegex.test("yep three here ๐Ÿ˜€๐Ÿ‘ฉโ€โš–๏ธ๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ")) //true
console.log(customRegex.test("nope ๐Ÿฅฃ๐Ÿ‘ฉ๐Ÿผโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ๐Ÿฝ")) //false
You can use regular expression to detect it in input text:
/([\uE000-\uF8FF]|\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF])/g
I wrote the following function: containsEmojis(input, includeBasic=true), which checks an input string for emojis according to the list of emojis defined in the Unicode specification version 13 (see https://unicode.org/Public/emoji/13.0/emoji-sequences.txt), and allows to ignore "basic" emojis that can be represented with only 3 bytes.
The snippet below defines the function and runs a few test cases:
/**
* iterates over the code points of an input string and returns true if an emoji is found.
*
* an emoji is found if the hex code for the character is 5 characters starting with "1F",
* or if #includeBasic is true, the character is 4 and starts with one of the prefixes of
* a basic emoji as defined in the Unicode specification version 13
* see https://unicode.org/Public/emoji/13.0/emoji-sequences.txt
*
* #input the string to check
* #includeBasic include also the basic emojis that only take 3 characters
*/
function containsEmojis(input, includeBasic) {
if (typeof includeBasic == "undefined")
includeBasic = true;
for (var c of input) {
var cHex = ("" + c).codePointAt(0).toString(16);
var lHex = cHex.length;
if (lHex > 3) {
var prefix = cHex.substring(0, 2);
if (lHex == 5 && prefix == "1f") {
return true;
}
if (includeBasic && lHex == 4) {
if (["20", "21", "23", "24", "25", "26", "27", "2B", "29", "30", "32"].indexOf(prefix) > -1)
return true;
}
}
}
return false;
}
// can be tested as follows:
var input;
input = "Hello World!";
console.log(input, containsEmojis(input));
input = "Hello ๐ŸŒŽ!";
console.log(input, containsEmojis(input));
console.log(input, containsEmojis(input, false));
// now try a basic emoji
input = "It sparkles โœจ yay!";
console.log(input, containsEmojis(input));
// pass false for includeBasic
console.log(input, containsEmojis(input, false));
another solution I found that worked for me:
const example = '๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ๐Ÿชฒ';
const regexpEmojiPresentation = /\p{Emoji_Presentation}/gu;
console.log(example.match(regexpEmojiPresentation));
check the emoji like bellow ways
function getEmojiChars(text) {
console.log(text.match(/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g)) ;
}
you will get the array of emoji in the text

JavaScript not removing text when a uppercase letter involved

So I have a text box on my website and I have coded this to prevent certain words from being used.
window.onload = function() {
var banned = ['MMM', 'XXX'];
document.getElementById('input_1_17').addEventListener('keyup', function(e) {
var text = document.getElementById('input_1_17').value;
for (var x = 0; x < banned.length; x++) {
if (text.toLowerCase().search(banned[x]) !== -1) {
alert(banned[x] + ' is not allowed!');
}
var regExp = new RegExp(banned[x]);
text = text.replace(regExp, '');
}
document.getElementById('input_1_17').value = text;
}, false);
}
The code works perfectly and removes the text from the text box when all the letters typed are lowercase. The problem is when the text contained an uppercase letter it will give the error but the word will not be removed from the text box.
The RegExp is a good direction, just you need some flags (to make it case-insensitive, and global - so replace all occurrences):
var text="Under the xxx\nUnder the XXx\nDarling it's MMM\nDown where it's mmM\nTake it from me";
console.log("Obscene:",text);
var banned=["XXX","MMM"];
banned.forEach(nastiness=>{
text=text.replace(new RegExp(nastiness,"gi"),"");
});
console.log("Okay:",text);
Normally you should use .toLowerCase() with both sides when comparing the strings so they can logically be matched.
But the problem actually comes from the Regex you are using, where you are ignoring case sensitivity, you just need to add the i flag to it:
var regExp = new RegExp(banned[x], 'gi');
text = text.replace(regExp, '');
Note:
Note also that using an alert() in a loop is not recommended, you can change your logic to alert all the matched items in only one alert().
You seem to have been expecting something unreasonable. Lowercase strings will never match strings containing uppercase letters.
Either convert both for comparison or use lowercase banned strings. The former would be more reliable, taking future human error out of the process.
What you can do is actually convert both variables to either all caps or all lowercase.
if (text.toLowerCase().includes(banned[x].toLowerCase())) {
alert(banned[x] + ' is not allowed!');
}
Not tested but it should work. No need to use search since you don't need the index anyway. using includes is cleaner. includes docs

How to split a string by a character not directly preceded by a character of the same type?

Let's say I have a string: "We.need..to...split.asap". What I would like to do is to split the string by the delimiter ., but I only wish to split by the first . and include any recurring .s in the succeeding token.
Expected output:
["We", "need", ".to", "..split", "asap"]
In other languages, I know that this is possible with a look-behind /(?<!\.)\./ but Javascript unfortunately does not support such a feature.
I am curious to see your answers to this question. Perhaps there is a clever use of look-aheads that presently evades me?
I was considering reversing the string, then re-reversing the tokens, but that seems like too much work for what I am after... plus controversy: How do you reverse a string in place in JavaScript?
Thanks for the help!
Here's a variation of the answer by guest271314 that handles more than two consecutive delimiters:
var text = "We.need.to...split.asap";
var re = /(\.*[^.]+)\./;
var items = text.split(re).filter(function(val) { return val.length > 0; });
It uses the detail that if the split expression includes a capture group, the captured items are included in the returned array. These capture groups are actually the only thing we are interested in; the tokens are all empty strings, which we filter out.
EDIT: Unfortunately there's perhaps one slight bug with this. If the text to be split starts with a delimiter, that will be included in the first token. If that's an issue, it can be remedied with:
var re = /(?:^|(\.*[^.]+))\./;
var items = text.split(re).filter(function(val) { return !!val; });
(I think this regex is ugly and would welcome an improvement.)
You can do this without any lookaheads:
var subject = "We.need.to....split.asap";
var regex = /\.?(\.*[^.]+)/g;
var matches, output = [];
while(matches = regex.exec(subject)) {
output.push(matches[1]);
}
document.write(JSON.stringify(output));
It seemed like it'd work in one line, as it did on https://regex101.com/r/cO1dP3/1, but had to be expanded in the code above because the /g option by default prevents capturing groups from returning with .match (i.e. the correct data was in the capturing groups, but we couldn't immediately access them without doing the above).
See: JavaScript Regex Global Match Groups
An alternative solution with the original one liner (plus one line) is:
document.write(JSON.stringify(
"We.need.to....split.asap".match(/\.?(\.*[^.]+)/g)
.map(function(s) { return s.replace(/^\./, ''); })
));
Take your pick!
Note: This answer can't handle more than 2 consecutive delimiters, since it was written according to the example in the revision 1 of the question, which was not very clear about such cases.
var text = "We.need.to..split.asap";
// split "." if followed by "."
var res = text.split(/\.(?=\.)/).map(function(val, key) {
// if `val[0]` does not begin with "." split "."
// else split "." if not followed by "."
return val[0] !== "." ? val.split(/\./) : val.split(/\.(?!.*\.)/)
});
// concat arrays `res[0]` , `res[1]`
res = res[0].concat(res[1]);
document.write(JSON.stringify(res));

extracting middle OR final part of a string

I want to extract only the first fontname out of a URL-string from the Google Webfont Directory. Here are some examples of possible strings and what part should be returned:
fonts.googleapis.com/css?family=Raleway // "Raleway"
fonts.googleapis.com/css?family=Caesar+Dressing // "Caesar Dressing"
fonts.googleapis.com/css?family=Raleway:300,400 // "Raleway"
fonts.googleapis.com/css?family=Raleway|Fondamento // "Raleway"
fonts.googleapis.com/css?family=Caesar+Dressing|Raleway:300,400|Fondamento // "Caesar Dressing"
So sometimes it's just one fontname, sometimes it has a weight indicated by a colon (:) and sometimes there are more fontnames divided by a pipe (|).
I have tried /family=(\S*)[:|]/ but it only matches the strings with :or |. I could do it like this, but it's not a nice solution:
var fontUrl = "fonts.googleapis.com/css?family=Caesar+Dressing|Raleway:300,400|Fondamento";
var fontName = /family=(\S*)/.exec(fontUrl)[1].replace(/\+/, " ");
if (fontName.indexOf(':') != -1){
fontName = fontName.split(':')[0];
}
if (fontName.indexOf('|') != -1){
fontName = fontName.split('|')[0];
}
console.log(fontName);
Is there a nice regex solution to this?
Instead of matching the character that (might) follow the string you want, match only the string you want except those characters:
/family=([^\s:|]*)/
Alternatively, you'd use a lookahead like this:
/family=(\S*?)(?=$|[:|])/
That should be better:
/family=([^:|]*)/
Of course for the + case, you'll have to replace it afterwards (or before maybe).
You can use (choose the i and m modifier in all case):
family=([a-z]+\+?[a-z]+)
or more simply
family=([a-z+]+)
or to avoid matching the + char:
family=([a-z]+)\+?([a-z]+)?
but it is an easyer way to use the second solution, and to replace the + chars with a space after.
try this:
/family\=(\S+?)[\:\|,]{0,2}\S*/ims
No regex is required in this case, unless you are good with regex's or test them thoroughly then you are likely to make mistakes.
var fontUrls = [];
fontUrls.push("fonts.googleapis.com/css?family=Raleway");
fontUrls.push("fonts.googleapis.com/css?family=Caesar+Dressing");
fontUrls.push("fonts.googleapis.com/css?family=Raleway:300,400");
fontUrls.push("fonts.googleapis.com/css?family=Raleway|Fondamento");
fontUrls.push("fonts.googleapis.com/css?family=Caesar+Dressing|Raleway:300,400|Fondamento");
function getFirstFont(url) {
return url.split("=")[1].split("|")[0].split(":")[0];
}
fontUrls.forEach(function (fontUrl) {
console.log(getFirstFont(fontUrl));
});
on jsfiddle

Remove all special characters with RegExp

I would like a RegExp that will remove all special characters from a string. I am trying something like this but it doesnโ€™t work in IE7, though it works in Firefox.
var specialChars = "!##$^&%*()+=-[]\/{}|:<>?,.";
for (var i = 0; i < specialChars.length; i++) {
stringToReplace = stringToReplace.replace(new RegExp("\\" + specialChars[i], "gi"), "");
}
A detailed description of the RegExp would be helpful as well.
var desired = stringToReplace.replace(/[^\w\s]/gi, '')
As was mentioned in the comments it's easier to do this as a whitelist - replace the characters which aren't in your safelist.
The caret (^) character is the negation of the set [...], gi say global and case-insensitive (the latter is a bit redundant but I wanted to mention it) and the safelist in this example is digits, word characters, underscores (\w) and whitespace (\s).
Note that if you still want to exclude a set, including things like slashes and special characters you can do the following:
var outString = sourceString.replace(/[`~!##$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '');
take special note that in order to also include the "minus" character, you need to escape it with a backslash like the latter group. if you don't it will also select 0-9 which is probably undesired.
Plain Javascript regex does not handle Unicode letters.
Do not use [^\w\s], this will remove letters with accents (like ร รจรฉรฌรฒรน), not to mention to Cyrillic or Chinese, letters coming from such languages will be completed removed.
You really don't want remove these letters together with all the special characters. You have two chances:
Add in your regex all the special characters you don't want remove, for example: [^รจรฉรฒร รนรฌ\w\s].
Have a look at xregexp.com. XRegExp adds base support for Unicode matching via the \p{...} syntax.
var str = "ะ‡ะถะฐะบ::: rรฉsd,$%& adรนf"
var search = XRegExp('([^?<first>\\pL ]+)');
var res = XRegExp.replace(str, search, '',"all");
console.log(res); // returns "ะ‡ะถะฐะบ::: resd,adf"
console.log(str.replace(/[^\w\s]/gi, '') ); // returns " rsd adf"
console.log(str.replace(/[^\wรจรฉรฒร รนรฌ\s]/gi, '') ); // returns " rรฉsd adรนf"
<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/3.1.1/xregexp-all.js"></script>
using \W or [a-z0-9] regex won't work for non english languages like chinese etc.,
It's better to use all special characters in regex and exclude them from given string
str.replace(/[~`!##$%^&*()+={}\[\];:\'\"<>.,\/\\\?-_]/g, '');
The first solution does not work for any UTF-8 alphabet. (It will cut text such as ะ‡ะถะฐะบ). I have managed to create a function which does not use RegExp and use good UTF-8 support in the JavaScript engine. The idea is simple if a symbol is equal in uppercase and lowercase it is a special character. The only exception is made for whitespace.
function removeSpecials(str) {
var lower = str.toLowerCase();
var upper = str.toUpperCase();
var res = "";
for(var i=0; i<lower.length; ++i) {
if(lower[i] != upper[i] || lower[i].trim() === '')
res += str[i];
}
return res;
}
Update: Please note, that this solution works only for languages where there are small and capital letters. In languages like Chinese, this won't work.
Update 2: I came to the original solution when I was working on a fuzzy search. If you also trying to remove special characters to implement search functionality, there is a better approach. Use any transliteration library which will produce you string only from Latin characters and then the simple Regexp will do all magic of removing special characters. (This will work for Chinese also and you also will receive side benefits by making Tromsรธ == Tromso).
I use RegexBuddy for debbuging my regexes it has almost all languages very usefull. Than copy/paste for the targeted language.
Terrific tool and not very expensive.
So I copy/pasted your regex and your issue is that [,] are special characters in regex, so you need to escape them. So the regex should be : /!##$^&%*()+=-[\x5B\x5D]\/{}|:<>?,./im
str.replace(/\s|[0-9_]|\W|[#$%^&*()]/g, "") I did sth like this.
But there is some people who did it much easier like str.replace(/\W_/g,"");
#Seagull anwser (https://stackoverflow.com/a/26482552/4556619)
looks good but you get undefined string in result when there are some special (turkish) characters. See example below.
let str="bษ™nรถvลŸษ™yi ๐Ÿ˜Ÿะฟัƒั€ะฟัƒั€ะฝั‹ะน ฤฐdร–ฤž";
i slightly improve it and patch with undefined check.
function removeSpecials(str) {
let lower = str.toLowerCase();
let upper = str.toUpperCase();
let res = "",i=0,n=lower.length,t;
for(i; i<n; ++i) {
if(lower[i] !== upper[i] || lower[i].trim() === ''){
t=str[i];
if(t!==undefined){
res +=t;
}
}
}
return res;
}
text.replace(/[`~!##$%^*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '');
why dont you do something like:
re = /^[a-z0-9 ]$/i;
var isValid = re.test(yourInput);
to check if your input contain any special char

Categories

Resources