String.prototype.codePointAt||function(){"use strict";function codePointAt(first){if(null==this)throw TypeError();var string=String(this),size=string.length,index=first?Number(first):0;if(!((index=index!=index?0:index)<0||size<=index)){var second,first=string.charCodeAt(index);return 55296<=first&&first<=56319&&index+1<size&&56320<=(second=string.charCodeAt(index+1))&&second<=57343?1024*(first-55296)+second-56320+65536:first}}Object.defineProperty?Object.defineProperty(String.prototype,"codePointAt",{value:codePointAt,configurable:!0,writable:!0}):String.prototype.codePointAt=codePointAt}();